[RFC/TileGX 2/2] fix gdbserver bug for 32bit elf

Jiong Wang jiwang@tilera.com
Tue Feb 5 10:42:00 GMT 2013


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.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-fix-tilegx-gdbserver-bug-when-64bit-server-debug-32b.patch
Type: text/x-patch
Size: 4869 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/gdb-patches/attachments/20130205/45d73f50/attachment.bin>


More information about the Gdb-patches mailing list