This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Problems with new binutils, -mbss-plt and prelink
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Alan Modra <amodra at bigpond dot net dot au>
- Cc: binutils at sources dot redhat dot com
- Date: Fri, 29 Jul 2005 14:39:45 +0200
- Subject: Problems with new binutils, -mbss-plt and prelink
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
Hi!
In the past, _GLOBAL_OFFSET_TABLE_ used to always be at .got+4, so unless
DT_PPC_GOT exists (== -msecure-plt shared library or binary), prelink relies
on that (using _GLOBAL_OFFSET_TABLE_ is not possible, as it is hidden
and therefore not present in stripped DSOs/binaries) - no dynamic tag
contains that value either.
But current binutils put it at the end of .got instead (the 4 word block,
containing 0x4e800021 (blrl insn), address of _DYNAMIC without relocation
and 2 zeros. Can I at least rely on it being either at the beginning or
at the end of .got section (and check whether the 2 initial values are ok
and no relocations are against those 4 values)?
The reason why prelink needs to know is that it must adjust the _DYNAMIC
address.
Jakub