[PATCH] Don't use PLT nor GOT in libc.a [BZ #20750]
Florian Weimer
fweimer@redhat.com
Mon Nov 7 16:03:00 GMT 2016
On 11/04/2016 08:25 PM, H.J. Lu wrote:
> On Fri, Nov 4, 2016 at 12:03 PM, Florian Weimer <fweimer@redhat.com> wrote:
>> On 11/04/2016 06:47 PM, H.J. Lu wrote:
>>>
>>> There is no need to use PLT nor GOT in libc.a to branch to a function,
>>> regardless whether libc.a is compiled with PIC or not.
>>>
>>> Tested on x86-64. OK for master?
>>
>>
>> Isn't this header file used outside of libc as well?
>
> It is used for other .a files. If they aren't used to create static binaries,
> PLT/GOT may be used. The resulting executable will work correctly.
You mean because ânameâ is automatically mapped to âname@pltâ?
I find this comment not very illuminating:
+/* For libc.a, we want to branch to target directly. */
# define JUMPTARGET(name) name
And cheating the static linker in this way seems like a future
maintenance hazard.
Thanks,
Florian
More information about the Libc-alpha
mailing list