This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: strange dereferencing behavior in gdb expressions
- From: Daniel Jacobowitz <drow at false dot org>
- To: PAUL GILLIAM <pgilliam at us dot ibm dot com>
- Cc: gdb at sources dot redhat dot com
- Date: Wed, 25 Jan 2006 15:00:00 -0500
- Subject: Re: strange dereferencing behavior in gdb expressions
- References: <1138218150.1423.36.camel@dufur.beaverton.ibm.com>
On Wed, Jan 25, 2006 at 11:42:30AM -0800, PAUL GILLIAM wrote:
> This seems inconsistent: GDB says it can't access memory at an address,
> but when given that address explicitly, it works fine.
>
> GDB was configured like this: CC='gcc -m64' ../src/configure
> (i.e. GDB
> is a 64-bit application)
>
> The target application is a 32-bit 'C' program.
>
> (gdb) show version
> GNU gdb 6.4.50.20060124-cvs
> ...
> This GDB was configured as "powerpc64-unknown-linux-gnu".
> (gdb) p/x *(*(0xffffc4a0)+4)
> Cannot access memory at address 0xffffc504
> (gdb) p/x *(int*)((*(int*)0xffffc4a0)+4)
> $42 = 0xfd7e67c
> (gdb) p/x *(0xffffc4a0)+4
> $43 = 0xffffc504
> (gdb) p/x *($43)
> Cannot access memory at address 0xffffc504
> (gdb) p/x *(0xffffc504)
> $44 = 0xfd7e67c
> (gdb)
>
> Anyone what to hazard a guess as to what is going on?
I've had this happen when memory_error truncates the address; might
want to set a breakpoint there, and see if one of them is sign extended
differently than the other due to their different types.
--
Daniel Jacobowitz
CodeSourcery