]> git.ipfire.org Git - thirdparty/glibc.git/commit
elf: Drop elf/tls-macros.h in favor of __thread and tls_model attributes [BZ #28152...
authorFangrui Song <maskray@google.com>
Mon, 16 Aug 2021 16:59:30 +0000 (09:59 -0700)
committerFlorian Weimer <fweimer@redhat.com>
Tue, 10 Jan 2023 18:09:21 +0000 (19:09 +0100)
commitbbe4bbb6e8997b5ff9843bd3f32ac77dbaec7284
tree3a059eea73dca65d267d92bb11df7a489b3f2718
parent71d4fe94a1d525fb25521d41ae39fb1ae5464f0a
elf: Drop elf/tls-macros.h in favor of __thread and tls_model attributes [BZ #28152] [BZ #28205]

elf/tls-macros.h was added for TLS testing when GCC did not support
__thread. __thread and tls_model attributes are mature now and have been
used by many newer tests.

Also delete tst-tls2.c which tests .tls_common (unused by modern GCC and
unsupported by Clang/LLD). .tls_common and .tbss definition are almost
identical after linking, so the runtime test doesn't add additional
coverage.  Assembler and linker tests should be on the binutils side.

When LLD 13.0.0 is allowed in configure.ac
(https://sourceware.org/pipermail/libc-alpha/2021-August/129866.html),
`make check` result is on par with glibc built with GNU ld on aarch64
and x86_64.

As a future clean-up, TLS_GD/TLS_LD/TLS_IE/TLS_IE macros can be removed from
sysdeps/*/tls-macros.h. We can add optional -mtls-dialect={gnu2,trad}
tests to ensure coverage.

Tested on aarch64-linux-gnu, powerpc64le-linux-gnu, and x86_64-linux-gnu.

Reviewed-by: Szabolcs Nagy <szabolcs.nagy@arm.com>
(cherry picked from commit 33c50ef42878b07ee6ead8b3f1a81d8c2c74697c)
13 files changed:
elf/Makefile
elf/tls-macros.h [deleted file]
elf/tst-tls1.c
elf/tst-tls2.c [deleted file]
elf/tst-tls3.c
elf/tst-tlsmod1.c
elf/tst-tlsmod2.c
elf/tst-tlsmod3.c
elf/tst-tlsmod4.c
elf/tst-tlsmod5.c
elf/tst-tlsmod6.c
sysdeps/powerpc/mod-tlsopt-powerpc.c
sysdeps/powerpc/tst-tlsifunc.c