This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [rfa] Skip "special" symbols when reading minimal symbols
On Thu, Mar 10, 2005 at 04:10:11PM -0800, Michael Snyder wrote:
> Daniel Jacobowitz wrote:
> >Nick recently introduced a hook in bfd to allow a target to mark a symbol
> >as
> >"special". What exactly "special" means isn't well defined, except that
> >they are not normal symbols, and objdump and nm will decline to display
> >them
> >unless an additional command line option is given. So, I would like to
> >make
> >that the default behavior in GDB also.
> >
> >GDB could make use of special symbols in a target-specific fashion - in
> >this
> >case, to build up a PC -> ISA mapping. The most logical way to do this
> >would be to call a gdbarch hook for special symbols (or for all symbols?).
> >But we don't need that yet, so I haven't added the hook.
> >
> >The advantage of skipping the mapping symbols is that they generally occur
> >at the same addresses as other non-mapping symbols. This causes GDB to
> >show
> >"$a" in disassembly instead of "main" in some cases (depending on the
> >vagaries of hashing). Whatever target-specific meaning a special symbol
> >may
> >have, the BFD hook indicates that it isn't a standard symol, so I think
> >it's
> >appropriate to skip it in GDB.
> >
> >Is this patch OK? Fixes a number of testsuite failures on arm-linux and
> >arm-netbsd.
> >
>
> I assume, if the hook is defined, you would just call it before (or
> instead of) skipping the symbol? Maybe the hook return value (true
> or false) could tell elfread whether to skip the symbol or save it?
> In case it might be useful later?
Yes, precisely.
> I think the idea is sound, but since I've no idea what these are
> intended for (currently or in the future), it's hard to say whether
> defaulting to omit them is the right thing.
The only current user is the one I described above: ARM binaries
contain $a (ARM), $t (THUMB), and $d (data) markers in their symbol
table. I definitely want these omitted, since they otherwise show up
as function names in disassembly.
Meanwhile, I've committed this pending patch to csl-arm-20050325-branch.
--
Daniel Jacobowitz
CodeSourcery, LLC