95 lines
3.6 KiB
Diff
95 lines
3.6 KiB
Diff
|
commit dd2315a866a4ac2b838ea1cb10c5ea1c35d51a2f
|
||
|
Author: Florian Weimer <fweimer@redhat.com>
|
||
|
Date: Tue Aug 16 08:27:50 2022 +0200
|
||
|
|
||
|
elf: Run tst-audit-tlsdesc, tst-audit-tlsdesc-dlopen everywhere
|
||
|
|
||
|
The test is valid for all TLS models, but we want to make a reasonable
|
||
|
effort to test the GNU2 model specifically. For example, aarch64
|
||
|
defaults to GNU2, but does not have -mtls-dialect=gnu2, and the test
|
||
|
was not run there.
|
||
|
|
||
|
Suggested-by: Martin Coufal <mcoufal@redhat.com>
|
||
|
|
||
|
Conflicts:
|
||
|
elf/Makefile
|
||
|
(missing tst-align3 test downstream)
|
||
|
|
||
|
diff --git a/elf/Makefile b/elf/Makefile
|
||
|
index ea1512549be3f628..613d244e7781d479 100644
|
||
|
--- a/elf/Makefile
|
||
|
+++ b/elf/Makefile
|
||
|
@@ -361,6 +361,8 @@ tests += \
|
||
|
tst-addr1 \
|
||
|
tst-align \
|
||
|
tst-align2 \
|
||
|
+ tst-audit-tlsdesc \
|
||
|
+ tst-audit-tlsdesc-dlopen \
|
||
|
tst-audit1 \
|
||
|
tst-audit2 \
|
||
|
tst-audit8 \
|
||
|
@@ -679,6 +681,8 @@ modules-names = \
|
||
|
tst-alignmod2 \
|
||
|
tst-array2dep \
|
||
|
tst-array5dep \
|
||
|
+ tst-audit-tlsdesc-mod1 \
|
||
|
+ tst-audit-tlsdesc-mod2 \
|
||
|
tst-audit11mod1 \
|
||
|
tst-audit11mod2 \
|
||
|
tst-audit12mod1 \
|
||
|
@@ -712,6 +716,7 @@ modules-names = \
|
||
|
tst-auditmanymod7 \
|
||
|
tst-auditmanymod8 \
|
||
|
tst-auditmanymod9 \
|
||
|
+ tst-auditmod-tlsdesc \
|
||
|
tst-auditmod1 \
|
||
|
tst-auditmod9a \
|
||
|
tst-auditmod9b \
|
||
|
@@ -889,23 +894,8 @@ 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 # $(have-mtls-dialect-gnu2)
|
||
|
|
||
|
-tests += tst-audit-tlsdesc tst-audit-tlsdesc-dlopen
|
||
|
-modules-names += tst-audit-tlsdesc-mod1 tst-audit-tlsdesc-mod2 tst-auditmod-tlsdesc
|
||
|
-$(objpfx)tst-audit-tlsdesc: $(objpfx)tst-audit-tlsdesc-mod1.so \
|
||
|
- $(objpfx)tst-audit-tlsdesc-mod2.so \
|
||
|
- $(shared-thread-library)
|
||
|
-CFLAGS-tst-audit-tlsdesc-mod1.c += -mtls-dialect=gnu2
|
||
|
-CFLAGS-tst-audit-tlsdesc-mod2.c += -mtls-dialect=gnu2
|
||
|
-$(objpfx)tst-audit-tlsdesc-dlopen: $(shared-thread-library)
|
||
|
-$(objpfx)tst-audit-tlsdesc-dlopen.out: $(objpfx)tst-audit-tlsdesc-mod1.so \
|
||
|
- $(objpfx)tst-audit-tlsdesc-mod2.so
|
||
|
-$(objpfx)tst-audit-tlsdesc-mod1.so: $(objpfx)tst-audit-tlsdesc-mod2.so
|
||
|
-$(objpfx)tst-audit-tlsdesc.out: $(objpfx)tst-auditmod-tlsdesc.so
|
||
|
-tst-audit-tlsdesc-ENV = LD_AUDIT=$(objpfx)tst-auditmod-tlsdesc.so
|
||
|
-$(objpfx)tst-audit-tlsdesc-dlopen.out: $(objpfx)tst-auditmod-tlsdesc.so
|
||
|
-tst-audit-tlsdesc-dlopen-ENV = LD_AUDIT=$(objpfx)tst-auditmod-tlsdesc.so
|
||
|
-endif
|
||
|
ifeq (yes,$(have-protected-data))
|
||
|
modules-names += tst-protected1moda tst-protected1modb
|
||
|
tests += tst-protected1a tst-protected1b
|
||
|
@@ -2656,3 +2646,21 @@ $(objpfx)tst-tls-allocation-failure-static-patched.out: \
|
||
|
grep -q '^Fatal glibc error: Cannot allocate TLS block$$' $@ \
|
||
|
&& grep -q '^status: 127$$' $@; \
|
||
|
$(evaluate-test)
|
||
|
+
|
||
|
+$(objpfx)tst-audit-tlsdesc: $(objpfx)tst-audit-tlsdesc-mod1.so \
|
||
|
+ $(objpfx)tst-audit-tlsdesc-mod2.so \
|
||
|
+ $(shared-thread-library)
|
||
|
+ifeq (yes,$(have-mtls-dialect-gnu2))
|
||
|
+# The test is valid for all TLS types, but we want to exercise GNU2
|
||
|
+# TLS if possible.
|
||
|
+CFLAGS-tst-audit-tlsdesc-mod1.c += -mtls-dialect=gnu2
|
||
|
+CFLAGS-tst-audit-tlsdesc-mod2.c += -mtls-dialect=gnu2
|
||
|
+endif
|
||
|
+$(objpfx)tst-audit-tlsdesc-dlopen: $(shared-thread-library)
|
||
|
+$(objpfx)tst-audit-tlsdesc-dlopen.out: $(objpfx)tst-audit-tlsdesc-mod1.so \
|
||
|
+ $(objpfx)tst-audit-tlsdesc-mod2.so
|
||
|
+$(objpfx)tst-audit-tlsdesc-mod1.so: $(objpfx)tst-audit-tlsdesc-mod2.so
|
||
|
+$(objpfx)tst-audit-tlsdesc.out: $(objpfx)tst-auditmod-tlsdesc.so
|
||
|
+tst-audit-tlsdesc-ENV = LD_AUDIT=$(objpfx)tst-auditmod-tlsdesc.so
|
||
|
+$(objpfx)tst-audit-tlsdesc-dlopen.out: $(objpfx)tst-auditmod-tlsdesc.so
|
||
|
+tst-audit-tlsdesc-dlopen-ENV = LD_AUDIT=$(objpfx)tst-auditmod-tlsdesc.so
|