This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: Accessing variables in .sdata
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: Bruce Ashfield <Bruce dot Ashfield at seawaynetworks dot com>
- Cc: gdb at sources dot redhat dot com
- Date: Wed, 12 Mar 2003 13:28:04 -0500
- Subject: Re: Accessing variables in .sdata
- References: <20030312175317.GA2464@seawaynetworks.com>
On Wed, Mar 12, 2003 at 12:53:17PM -0500, Bruce Ashfield wrote:
> Hi all,
>
> I've been trying to characterize the types of variables I
> can't access when using a linker script during the construction
> of our bootable image. The linker script in question is a
> slightly modified one from ppcboot and I can't see any
> fundamental problems with the script.
>
> I've been dumping the map file during the link and comparing
> the one that the linker internally generates to the one that
> results from our supplied linker map. I'm seeing a different
> location for the .text,.bss,.data segments and some other
> ordering differences, but again nothing fundamentally wrong.
>
> But my problem persists. If I use a linker script and try to
> print the value of a variable in a .sdata I'm presented with
> the gdb error "Cannot access memory at address 0x...". Where
> address 0xABCD.. is no where near where the map file says
> that section and variable should be found. It's like gdb is
> missing the offset of the sections.
>
> I've also tried using add-symbol-file to force gdb to recognize
> the start address for the various sections, but at best I see
> the error address moving around.
>
> I've been told from people around the office that if they load
> the symbol file multiple times the error address changes and
> they can breakpoint functions, but not usually inside a
> function.
This sounds like the sdata offset is uninitialized for some reason. I
don't know why it would affect breakpoints, though. Did you try
valgrind? Do you have a smaller testcase working yet based on this new
insight?
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer