On 07/21/2011 01:55 AM, Pedro Alves wrote: > On Wednesday 20 July 2011 03:09:18, Yao Qi wrote: > >> +static CORE_ADDR >> +tic6x_get_pc (struct regcache *regcache) >> +{ >> + union tic6x_register pc; >> + collect_register_by_name (regcache, "PC", pc.buf); > > Empty line missing after declaration. At least one more instance. > Fixed it here and other places. >> +int *tic6x_regmap; >> + > ... >> +unsigned int tic6x_breakpoint; > > Could be static? > Yes, they can be static. Fixed. >> s390-linux32-expedite = r14,r15,pswa >> s390-linux64-expedite = r14l,r15l,pswa >> s390x-linux64-expedite = r14,r15,pswa >> +tic6x-linux-expedite = A15,PC > > Stupid question: is there a reason all register > names are all caps in C6x? > Because all register names are capitalized in TI's reference guide and "TMS320C6000 Assembly Language Tools User's Guide". >> +++ b/gdb/features/tic6x-linux.xml >> @@ -0,0 +1,12 @@ >> + >> + >> + >> + >> + >> + tic6x > > Since this is for linux only, add: > > GNU/Linux > >> + >> + > Done. >> +#elif defined(__TMS320C6X__) >> +#define PT_TEXT_ADDR 0x10000*4 >> +#define PT_DATA_ADDR 0x10004*4 >> +#define PT_TEXT_END_ADDR 0x10008*4 > > Surround with parens as principle to avoid precedence > surprises: > > #define PT_TEXT_ADDR (0x10000*4) > Done. >> + >> + >> + >> + >> + > > ... > > These are all general purpose, core registers, right? > Not really. A0-31 and B0-31 are general purpose registers, even there are some difference among different C6x cores (such as C62x, C67x, and C64x). The rest of them can be regarded as control registers and status registers. The target description should be refined for the different C6x cores, and I'd like to do it in follow-up patches later. Is it OK? -- Yao (齐尧)