diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2016-06-29 04:01:58 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2016-06-29 07:38:22 -0700 |
commit | 14dbd01a991fc8cc6d7bc2762bfc8d2ad1da2cdf (patch) | |
tree | 2e5fcc77d9407bdf52ecbc1dfbdaa687547efa4b /elf/Makefile | |
parent | e402823ef3852704296cd775c58e4bc633c07f20 (diff) | |
download | glibc-14dbd01a991fc8cc6d7bc2762bfc8d2ad1da2cdf.tar.gz glibc-14dbd01a991fc8cc6d7bc2762bfc8d2ad1da2cdf.tar.xz glibc-14dbd01a991fc8cc6d7bc2762bfc8d2ad1da2cdf.zip |
X86-64: Properly align stack in _dl_tlsdesc_dynamic hjl/pr20309/master
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.
Diffstat (limited to 'elf/Makefile')
-rw-r--r-- | elf/Makefile | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/elf/Makefile b/elf/Makefile index 210dde941c..593403c640 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -224,6 +224,13 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \ tst-tlsalign-lib tst-nodelete-opened-lib tst-nodelete2mod \ tst-audit11mod1 tst-audit11mod2 tst-auditmod11 \ tst-audit12mod1 tst-audit12mod2 tst-audit12mod3 tst-auditmod12 +ifeq (yes,$(have-mtls-dialect-gnu2)) +tests += tst-gnu2-tls1 +modules-names += tst-gnu2-tls1mod +$(objpfx)tst-gnu2-tls1: $(objpfx)tst-gnu2-tls1mod.so +tst-gnu2-tls1mod.so-no-z-defs = yes +CFLAGS-tst-gnu2-tls1mod.c += -mtls-dialect=gnu2 +endif ifeq (yes,$(have-protected-data)) modules-names += tst-protected1moda tst-protected1modb tests += tst-protected1a tst-protected1b |