This is the mail archive of the
gdb-patches@sourceware.cygnus.com
mailing list for the GDB project.
[Fwd: [rfc] For mips, sign-extended ecoff offsets]
- To: GDB Patches <gdb-patches at sourceware dot cygnus dot com>
- Subject: [Fwd: [rfc] For mips, sign-extended ecoff offsets]
- From: Andrew Cagney <ac131313 at cygnus dot com>
- Date: Tue, 20 Jun 2000 11:28:40 +1000
- Organization: Cygnus Solutions
Something for the symtab maintainers - perhaphs an internal sanity check
is possible?
Somewhere in gdb is code that merges the various pieces of symbolic
information. In the case below I was seeing:
o gdb read in a symbol with a
sign extended value (asymbol)
o gdb read in the same symbol
but not sign extended (ecoff_swap_sym_in)
o something
o gdb ``maint print msymtab'' with
the bad value.
If anyone knows where that ``something'' which is doing a merge is,
could I suggest a sanity check to ensure that the merged symbols
actually have the same address.
enjoy,
Andrew
PS: I'm still not sure where that ``something'' is :-)
> Hello,
>
> The attatched patch changes the MIPS ELF32 backend so that it is more
> likely to return a sign-extended offset. At present the ELF backend
> returns sign-extended symbol table values but not sign extended debug
> information.
>
> For instance, an asymbol might contain 0xfffffffa0100124 yet the value
> returned by ecoff_swap_sym_in() is 0xa0100124.
>
> Preliminary tests with GDB suggest this improves things significantly.
> Next question is, what damage is this likely to do to BFD and the
> linker.
>
> Andrew
>
> PS: This will hurt GDB more than it can hurt BFD :-)