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 Thu, 6 Jul 2017, H.J. Lu wrote:

> On Thu, Jul 6, 2017 at 8:32 AM, Alexander Monakov <amonakov@ispras.ru> wrote:
> > On Thu, 6 Jul 2017, Alexander Monakov wrote:
> > Actually, looking at elf/dl-tls.c, I see that __tls_get_addr doesn't need
> > aligned stack, and its callees update_get_addr and tls_get_addr_tail are
> > already marked noinline, so isn't it sufficient to additionally mark those
> > with __attribute__((force_align_arg_pointer)) on x86-64?
> >
> 
> Please take a look at the current master branch.  I have pushed a fix
> today:
> 
> https://sourceware.org/git/?p=glibc.git;a=commit;h=031e519c95c069abe4e4c7c59e2b4b67efccdee5

Right, but my point was that by simply adding the attribute to two existing
noinline functions all that new complexity could have been avoided.

What's the point of the proposed new ___tls_get_addr? Avoiding realigning
the stack in cases when Glibc has to do rather complex work anyway? Is it
even possible to measure the difference?

Alexander


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