This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Questions about runtime linking...
Daniel Jacobowitz wrote:
On Tue, May 18, 2004 at 10:33:10AM -0700, David Daney wrote:
Questions:
What property of a symbol make it appear as a dynamic relocation entry?
Why don't symbols from glibc appear in the dynamic relocation entries?
Symbols only referenced in the initial GOT do not necessarily appear in
the list of dynamic relocations on MIPS.
This is somewhat horrifying from a cross-platform-consistency
perspective.
Are you saying that a different mechanism is used for the relocations in
the secondary GOTs, than those in the initial GOT?
How do I find where the relocations are for the undefined symbols from
an objdump -T testapp listing?
Wherever objdump -R says - and also, sort of, at the appropriate offset
in .got determined by the symbol index and the dynamic tags
(DT_MIPS_GOTSYM? Something like that.)
Is there some way to get objdump and/or readelf to print these out? Or
is it emacs hexl mode for me?
And for bonus points: What would cause glibc's "__ctype_tolower" symbol
to appear as a dynamic relocation entry (thus seeming to cause my
problems), when normally it does not?
Reference from a secondary GOT?
I think this is likely the case, as the screwed up GOT entry comes at a
higher address than the good ones.
I apologize in advance if this is covered in some ELF FAQ somewhere that
I have not found.
What linker version are you using? It sounds like it's 2.14 and you
should try this whole system again using 2.15, where I fixed a number
of multi-GOT bugs.
The H.J. Lu version..
$ mipsel-linux-ld --version
GNU ld version 2.14.90.0.5 20030722
I have 2.15, but am not currently using it for this build. Perhaps it
is time to upgrade...
David Daney.