Re: MIPS 64 bit addressing query

Paul Koning
2007-08-06T18:37:35Z

>>>>> "Vinod" == Vinod pandarinathan <vinod.pandarinathan@gmail.com> writes:

Vinod> Hi, Thanks for the quick reply. I upgraded the debugger to
Vinod> gdb6.6 but still seeing the same problem. I searched the
Vinod> newsgroup and found a related thread

Vinod> http://www.ecos.sourceware.org/ml/gdb/2006-10/msg00088.html

Vinod> I checked mips-tdep.c where the function
Vinod> set_gdbarch_integer_to_address uses mips_integer_to_address
Vinod> which sign extends the 32 bit value. From the above thread it
Vinod> is suggested to use unsigned integer extension. However I am
Vinod> still trying to find where the zero extended
Vinod> address[bpt->address] is coming from.

The ecos thread is for a different architecture, the SH. I don't know
about that one, but the MIPS rule is entirely clear -- 32-bit
addresses are sign extended, NOT zero extended, to make a 64-bit
address. So if you're seeing problems because of a zero-extended
address, the fix is to track down where that comes from and make it
sign-extend instead.

paul