This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
MIPS 64 bit addressing query
- From: "Vinod pandarinathan" <vinod dot pandarinathan at gmail dot com>
- To: gdb at sourceware dot org
- Date: Sun, 5 Aug 2007 17:57:36 -0700
- Subject: MIPS 64 bit addressing query
Hi Experts,
I found that gdb6.4.1 is sign extending the
PC before comparing it to the breakpoint address[bpt->address].
Sign extension happens in mips-tdep.c
/* MIPS believes that the PC has a sign extended value. Perhaps the
all registers should be sign extended for simplicity? */
static CORE_ADDR
mips_read_pc (ptid_t ptid)
{
return read_signed_register_pid (mips_regnum (current_gdbarch)->pc, ptid);
}
The target suspends at the breakpoint, but the debugger is not able to
identify the associated breakpoint as [unsigned value is compared to a
64 bit sign extended value].
We are using MIPS 3 ISA and since breakpoint is set at an address
where the 32nd bit is set to 1 the 64 bit sign extended values does
not compare with the unsigned
break point address.
Can you please explain how we can fix the problem? Should I sign
extend the break point address too ?
Thanks
Vinod.