[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