Relocations reference local (static or hidden) symbols on ia64
Andreas Schwab
schwab@linux-m68k.org
Fri Sep 24 12:18:54 GMT 2021
On Sep 24 2021, Alan Modra wrote:
> On Thu, Sep 23, 2021 at 10:40:39PM +0200, Florian Weimer via Binutils wrote:
>> * Andreas Schwab:
>>
>> > On Sep 23 2021, Florian Weimer via Binutils wrote:
>> >
>> >> Relocation section '.rela.dyn' at offset 0xeb8 contains 53 entries:
>> >> Offset Info Type Symbol's Value Symbol's Name + Addend
>> >> […]
>> >> 0000000000061608 0000001800000047 R_IA64_FPTR64LSB 000000000001dc00 openaux + 0
>> >
>> > This relocation creates the "official" function descriptor for the
>> > function (which serves as the unique address of the function).
>>
>> Oh. _dl_make_fptr is … complex.
>>
>> For a static function such as openaux, I would have expected the static
>> linker to allocate space for a function descriptor and initialize it
>> using an R_IA64_REL64LSB relocation.
>
> Yes, or perhaps a different relocation.
Or let the compiler allocate the descriptor (which it already does for
vtables, see TARGET_VTABLE_USES_DESCRIPTORS).
Andreas.
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1
"And now for something completely different."
More information about the Binutils
mailing list