This is the mail archive of the
libc-ports@sources.redhat.com
mailing list for the libc-ports project.
Re: PLT / non-PIC executable support for MIPS
On Sun, 28 Mar 2010, Daniel Jacobowitz wrote:
> > If there is indeed a target-specific ABIVERSION value for MIPS, then ports
> > needs its own libc-abis file. Is there something I don't follow about how
> > the above matches, or is in fact the static linker never generating the
> > value 1 (which it does seem to have code to generate) in any context for
> > which the above code is active?
>
> I suspect that VALID_ELF_HEADER is not used for the executable. The
> linker only sets it for the executable, since shared libraries don't
> use PLTs or copy relocs. Either that, or it's only used for the
> executable if ld.so was invoked directly (but if that were the case, I
> think we'd have noticed a problem by now).
Given that it's only set for the executable, should we still say that
numbers higher than 1 are used for STB_GNU_UNIQUE (and STT_GNU_IFUNC if
MIPS gets support for that in future) on MIPS to avoid confusion? With 1
being accepted with ELFOSABI_SYSV but higher values only for
ELFOSABI_LINUX.
(I don't actually see any static linker support to set the ABI versions
for STB_GNU_UNIQUE and STT_GNU_IFUNC that libc now checks for; I presume
that will be forthcoming in due course.)
--
Joseph S. Myers
joseph@codesourcery.com