for tilegx, all general registers are 64bit, while the pseudo 'pc' is 32bit under tilegx32. gdb client treat 'pc' correctly in static struct type * tilegx_register_type (struct gdbarch *gdbarch, int regnum) { if (regnum == TILEGX_PC_REGNUM) return builtin_type (gdbarch)->builtin_func_ptr; while gdbserver always treat it as 64bit, there is mismatch. gdb/ChangeLog: * configure.tgt: Enable gdbserver for tilegx * gdbserver/Makefile.in: Add rule for reg-tilegx32.c * gdbserver/configure.srv: Add rule for reg-tilegx32.o * gdbserver/linux-tile-low.c: Add tile_arch_setup and init_registers_tilegx32, tile_arch_setup will register different register info according to elf class. also, use "uint_reg_t" to represent register size. * regformats/reg-tilegx.dat: Change abi name to "tilegx. * regformats/reg-tilegx32.dat: New. please review. thanks. -- Regards, Jiong. Wang Tilera Corporation.