[PATCH] elf: Support DT_RELR relative relocation format [BZ #27924]
Jan Beulich
jbeulich@suse.com
Tue Oct 12 08:14:56 GMT 2021
On 12.10.2021 00:08, Joseph Myers wrote:
> On Mon, 11 Oct 2021, Fāng-ruì Sòng via Libc-alpha wrote:
>
>>> While in line with the proposed spec additions I'm afraid the uses of
>>> ElfW(Addr) here aren't universally correct: You assume that ELF
>>> container type (size) expresses an aspect of the ABI. While this is
>>> indeed the case for several arch-es, I think this has been a mistake.
>>> IA-64, while meanwhile mostly dead, is (was) an example where 64-bit
>>> code can validly live in a 32-bit ELF container (at least as far as
>>> the psABI is concerned; I have no idea whether glibc actually
>>> followed the spec). There's a separate ELF header flag indicating the
>>> ABI, and hence the size of a pointer.
>>
>> Thanks for chiming in.
>>
>> As of ia64 buildability, it works for me:
>
> As far as I know, glibc and the Linux kernel never supported ILP32 on ia64
> (HP-UX did). But I'm not entirely clear whether the ILP32 ABI is what's
> being referred to here (cf. x32, MIPS n32, etc. - ILP32 ABIs using 64-bit
> instructions, and 32-bit ELF), or something else.
Yes, it's ILP32 that I'm referring to, but specifically not 32-bit ELF
to express that (unlike e.g. x32 or Arm64's respective mode). Whether
MIPS is comparable I don't know - there are at least a couple of header
flags which suggest the ELF container size may be independent of the
ABI.
Jan
More information about the Binutils
mailing list