This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]