x86-64: Properly align stack in _dl_tlsdesc_dynamic [BZ #20309]
commit61655555aa8c2cd5f5351ef7d0aea6dfce046135
authorH.J. Lu <hjl.tools@gmail.com>
Tue, 12 Jul 2016 13:29:54 +0000 (12 06:29 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Tue, 12 Jul 2016 13:30:08 +0000 (12 06:30 -0700)
tree9bdbc75cb7087328948fda4cbde2f784dbd90bba
parentcf1ad5b3add36790cbf58a3972c492a8f1632929
x86-64: Properly align stack in _dl_tlsdesc_dynamic [BZ #20309]

Since _dl_tlsdesc_dynamic is called via PLT, we need to add 8 bytes for
push in the PLT entry to align the stack.

[BZ #20309]
* configure.ac (have-mtls-dialect-gnu2): Set to yes if
-mtls-dialect=gnu2 works.
* configure: Regenerated.
* elf/Makefile [have-mtls-dialect-gnu2 = yes]
(tests): Add tst-gnu2-tls1.
(modules-names): Add tst-gnu2-tls1mod.
($(objpfx)tst-gnu2-tls1): New.
(tst-gnu2-tls1mod.so-no-z-defs): Likewise.
(CFLAGS-tst-gnu2-tls1mod.c): Likewise.
* elf/tst-gnu2-tls1.c: New file.
* elf/tst-gnu2-tls1mod.c: Likewise.
* sysdeps/x86_64/dl-tlsdesc.S (_dl_tlsdesc_dynamic): Add 8
bytes for push in the PLT entry to align the stack.
ChangeLog
configure
configure.ac
elf/Makefile
elf/tst-gnu2-tls1.c [new file with mode: 0644]
elf/tst-gnu2-tls1mod.c [new file with mode: 0644]
sysdeps/x86_64/dl-tlsdesc.S