This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] x86-64: Align the stack in __tls_get_addr [BZ #21609]


On 07/06/2017 07:34 AM, Florian Weimer wrote:
> On 07/04/2017 10:28 PM, H.J. Lu wrote:
>> 2017-07-04  Florian Weimer  <fweimer@redhat.com>
>> 	    H.J. Lu  <hongjiu.lu@intel.com>
>>
>> 	[BZ #21609]
>> 	* sysdeps/x86_64/Makefile (sysdep-dl-routines): Add tls_get_addr.
>> 	(gen-as-const-headers): Add rtld-offsets.sym.
>> 	* sysdeps/x86_64/dl-tls.c: New file.
>> 	* sysdeps/x86_64/rtld-offsets.sym: Likwise.
>> 	* sysdeps/x86_64/tls_get_addr.S: Likewise.
>> 	* sysdeps/x86_64/dl-tls.h: Add multiple inclusion guards.
>> 	* sysdeps/x86_64/tlsdesc.sym (TI_MODULE_OFFSET): New.
>> 	(TI_OFFSET_OFFSET): Likwise.
> 
> I verified that the addition of __tls_get_addr_slow does not affect the
> inlining decisions made by GCC 6, so I think this patch is okay.  Would
> you please commit it?
> 
> I would like to backport it to older glibc branches as well (at least
> 2.25 and 2.24).
> 
> I'm not sure if the second patch is actually needed, and if the new
> symbol is the right way to do it. It penalizes those who use modern and
> fixed compilers by making their lives more complicated, while we should
> do it the other way round (those who use unfixed compilers should
> suffer, at least if the choice is between the two outcomes).

Isn't the "suffering" just that you cannot build a compiler that is both
compatible with the old glibc (performance loss) and new glibc (fastest
performance)?

You have to choose one.

-- 
Cheers,
Carlos.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]