RFA: Skip ARM ELF Mapping symbols when showing disassembly
Thu Nov 13 15:20:00 GMT 2003
On Thu, Nov 13, 2003 at 02:45:07PM +0000, Richard Earnshaw wrote:
> > Hi Guys,
> > I have recently committed a patch to the arm-elf port of GAS which
> > causes it to generate special mapping symbols as required by the ARM
> > ELF spec. Unfortunately this now means that when GDB shows a
> > disassembly it can select one of the mapping symbols instead of the
> > proper function name symbol.
> > The patch below is a fix for this problem. It is not elegant, but
> > it does have the advantage of being entirely arm specific. A
> > cleaner patch would require changes to generic code, which I did not
> > feel comfortable doing.
> > May I apply this patch ?
> > Cheers
> > Nick
> I wonder whether a better way to handle all this is to override
> slurp_symbol_table for arm-elf to a routine that just skips the mapping
> symbols entirely (or at least, doesn't put them into the list that it
> passes back to its caller), then to add a separate function to slurp the
> mapping symbols independently. Then gdb and the disassembler (and the
> linker error reports) would all just work normally.
> It would be necessary to add support for copying and fixing up the mapping
> symbols when linking, but that's probably not too hard.
FWIW, I think this is a good idea.
I don't want to end up with them in the symbol table for GDB; there
could be a substantial number of them (especially if the linker emits
them for interworking veneers), and they could have nasty adverse
effects on the hash table. Plus a symbol table isn't a useful data
structure for this information, I think, just a convenient way to store
it in the object file.
I have always envisioned this sort of information being carried by
.debug_line instead, but of course that doesn't meet the same needs as
the mapping symbols.
MontaVista Software Debian GNU/Linux Developer
More information about the Gdb-patches