Proposal for STT_GNU_IFUNC and R_*_IRELATIVE
Ian Lance Taylor
ianlancetaylor@gmail.com
Tue May 26 16:57:00 GMT 2009
"H.J. Lu" <hjl.tools@gmail.com> writes:
> On Tue, May 26, 2009 at 9:30 AM, Ian Lance Taylor <iant@google.com> wrote:
>> "H.J. Lu" <hjl.tools@gmail.com> writes:
>>
>>> I don't see the fundamental difference between the new relocation and
>>> the new DT_* tags. The end result is the same. If your OS doesn't support
>>> them, the application will crash if they are used. I will propose a new
>>> x86-64 psABI extension, which will be optional. If an OS supports
>>> STT_GNU_IFUNC, it must support R_X86_64_IRELATIVE.
>>
>> One difference is that a new relocation has to be defined for every
>> processor ABI separately. New DT_* tags can be defined once.
>>
>
> Sure. But R_*_IRELATIVE is much simpler to implement in static and
> dynamic linkers.
That is not a convincing argument when it comes to standardizing
something. The DT_* tags are not difficult to implement.
Jakub's comment about prelink seems relevant, however.
Ian
More information about the Libc-alpha
mailing list