This is the mail archive of the gdb-patches@sourceware.cygnus.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]

[Fwd: [rfc] For mips, sign-extended ecoff offsets]


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 :-)

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