aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2025-01-03 10:21:56 +0800
committerH.J. Lu <hjl.tools@gmail.com>2025-01-04 04:51:21 +0800
commit1294926da37cedb1aba46e4b2fef70ac2ceee105 (patch)
tree489468f1521958c3700994779290cfdb666ca4fd
parent3674004f3f29fc918d4e81062558ad916e99c3dd (diff)
downloadglibc-1294926da37cedb1aba46e4b2fef70ac2ceee105.tar.xz
glibc-1294926da37cedb1aba46e4b2fef70ac2ceee105.zip
Rename have-mtls-descriptor to have-test-mtls-descriptor
Since have-mtls-descriptor is only used for glibc testing, rename it to have-test-mtls-descriptor. Also enable tst-gnu2-tls2-amx only if $(have-test-mtls-descriptor) == gnu2. Tested with GCC 14 and Clang 19/18/17 on x86-64. Signed-off-by: H.J. Lu <hjl.tools@gmail.com> Reviewed-by: Sam James <sam@gentoo.org>
-rw-r--r--Makefile.in2
-rwxr-xr-xconfigure42
-rw-r--r--configure.ac10
-rw-r--r--elf/Makefile34
-rw-r--r--sysdeps/arm/Makefile8
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/Makefile2
6 files changed, 33 insertions, 65 deletions
diff --git a/Makefile.in b/Makefile.in
index 0aab15ce4d..8b02cc3b03 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -8,7 +8,6 @@ test-config-cflags-signaling-nans = @libc_cv_test_cc_signaling_nans@
test-config-cflags-wno-ignored-attributes = @libc_cv_test_wno_ignored_attributes@
test-enable-cet = @test_enable_cet@
test-have-mamx-tile = @libc_cv_test_x86_have_amx_tile@
-test-have-mtls-descriptor = @libc_cv_test_mtls_descriptor@
test-have-static-pie = @libc_cv_test_static_pie@
test-supported-fortify = @libc_cv_test_supported_fortify_source@
@@ -29,7 +28,6 @@ check xcheck test:
config-cflags-wno-ignored-attributes="$(test-config-cflags-wno-ignored-attributes)" \
enable-cet="$(test-enable-cet)" \
have-mamx-tile="$(test-have-mamx-tile)" \
- have-mtls-descriptor="$(test-have-mtls-descriptor)" \
have-static-pie="$(test-have-static-pie)" \
supported-fortify="$(test-supported-fortify)" \
objdir=`pwd` $@
diff --git a/configure b/configure
index 4f77900818..b410ee4bd9 100755
--- a/configure
+++ b/configure
@@ -655,7 +655,6 @@ libc_cv_test_cc_signaling_nans
libc_cv_cc_submachine
libc_cv_cc_nofma
libc_cv_test_wno_ignored_attributes
-libc_cv_test_mtls_descriptor
libc_cv_has_glob_dat
libc_cv_fpie
libc_cv_test_static_pie
@@ -7422,31 +7421,6 @@ void foo (void)
cat > conftest.c <<EOF
$conftest_code
EOF
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for tls descriptor support" >&5
-printf %s "checking for tls descriptor support... " >&6; }
-if test ${libc_cv_mtls_descriptor+y}
-then :
- printf %s "(cached) " >&6
-else case e in #(
- e) if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -fPIC -mtls-dialect=$mtls_descriptor -nostdlib -nostartfiles -shared conftest.c -o conftest 1>&5'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }
- then
- libc_cv_mtls_descriptor=$mtls_descriptor
- else
- libc_cv_mtls_descriptor=no
- fi
- ;;
-esac
-fi
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_mtls_descriptor" >&5
-printf "%s\n" "$libc_cv_mtls_descriptor" >&6; }
-if test "$TEST_CC" = "$CC"; then
- libc_cv_test_mtls_descriptor=$libc_cv_mtls_descriptor
-else
saved_CC="$CC"
CC="$TEST_CC"
@@ -7456,17 +7430,17 @@ if test ${libc_cv_test_mtls_descriptor+y}
then :
printf %s "(cached) " >&6
else case e in #(
- e) if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -fPIC -mtls-dialect=$mtls_descriptor -nostdlib -nostartfiles -shared conftest.c -o conftest 1>&5'
+ e) if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -fPIC -mtls-dialect=$mtls_descriptor -nostdlib -nostartfiles -shared conftest.c -o conftest 1>&5'
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
(eval $ac_try) 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }
- then
- libc_cv_test_mtls_descriptor=$mtls_descriptor
- else
- libc_cv_test_mtls_descriptor=no
- fi ;;
+ then
+ libc_cv_test_mtls_descriptor=$mtls_descriptor
+ else
+ libc_cv_test_mtls_descriptor=no
+ fi ;;
esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_test_mtls_descriptor" >&5
@@ -7474,11 +7448,9 @@ printf "%s\n" "$libc_cv_test_mtls_descriptor" >&6; }
CC="$saved_CC"
-fi
rm -f conftest*
config_vars="$config_vars
-have-mtls-descriptor = $libc_cv_mtls_descriptor"
-
+have-test-mtls-descriptor = $libc_cv_test_mtls_descriptor"
conftest_code="
void __foo (void)
diff --git a/configure.ac b/configure.ac
index 5f60b523bb..9af8d541e5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1386,17 +1386,15 @@ void foo (void)
i = 10;
}
"
-LIBC_TRY_CC_AND_TEST_CC_COMMAND([for tls descriptor support],
+dnl Check if TEST_CC support tls descriptor.
+LIBC_TRY_TEST_CC_COMMAND([for tls descriptor support],
[$conftest_code],
[-fPIC -mtls-dialect=$mtls_descriptor -nostdlib -nostartfiles -shared],
- libc_cv_mtls_descriptor,
- [libc_cv_mtls_descriptor=$mtls_descriptor],
- [libc_cv_mtls_descriptor=no],
libc_cv_test_mtls_descriptor,
[libc_cv_test_mtls_descriptor=$mtls_descriptor],
[libc_cv_test_mtls_descriptor=no])
-LIBC_CONFIG_VAR([have-mtls-descriptor], [$libc_cv_mtls_descriptor])
-AC_SUBST(libc_cv_test_mtls_descriptor)
+LIBC_CONFIG_VAR([have-test-mtls-descriptor],
+ [$libc_cv_test_mtls_descriptor])
dnl clang emits an warning for a double alias redirection, to warn the
dnl original symbol is sed even when weak definition overrides it.
diff --git a/elf/Makefile b/elf/Makefile
index 597bb6cf4b..e3db643a30 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -1106,13 +1106,13 @@ modules-names-tests = $(filter-out ifuncmod% tst-tlsmod% \
# For +depfiles in Makerules.
extra-test-objs += tst-auditmod17.os
-ifneq (no,$(have-mtls-descriptor))
+ifneq (no,$(have-test-mtls-descriptor))
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=$(have-mtls-descriptor)
-endif # $(have-mtls-descriptor)
+CFLAGS-tst-gnu2-tls1mod.c += -mtls-dialect=$(have-test-mtls-descriptor)
+endif # $(have-test-mtls-descriptor)
ifeq (yes,$(have-protected-data))
modules-names += tst-protected1moda tst-protected1modb
@@ -3174,11 +3174,11 @@ $(objpfx)tst-tls-allocation-failure-static-patched.out: \
$(objpfx)tst-audit-tlsdesc: $(objpfx)tst-audit-tlsdesc-mod1.so \
$(objpfx)tst-audit-tlsdesc-mod2.so \
$(shared-thread-library)
-ifneq (no,$(have-mtls-descriptor))
+ifneq (no,$(have-test-mtls-descriptor))
# 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=$(have-mtls-descriptor)
-CFLAGS-tst-audit-tlsdesc-mod2.c += -mtls-dialect=$(have-mtls-descriptor)
+CFLAGS-tst-audit-tlsdesc-mod1.c += -mtls-dialect=$(have-test-mtls-descriptor)
+CFLAGS-tst-audit-tlsdesc-mod2.c += -mtls-dialect=$(have-test-mtls-descriptor)
endif
$(objpfx)tst-audit-tlsdesc-dlopen: $(shared-thread-library)
$(objpfx)tst-audit-tlsdesc-dlopen.out: $(objpfx)tst-audit-tlsdesc-mod1.so \
@@ -3257,13 +3257,13 @@ $(objpfx)tst-gnu2-tls2.out: \
$(objpfx)tst-gnu2-tls2mod1.so \
$(objpfx)tst-gnu2-tls2mod2.so
-ifneq (no,$(have-mtls-descriptor))
-CFLAGS-tst-tlsgap-mod0.c += -mtls-dialect=$(have-mtls-descriptor)
-CFLAGS-tst-tlsgap-mod1.c += -mtls-dialect=$(have-mtls-descriptor)
-CFLAGS-tst-tlsgap-mod2.c += -mtls-dialect=$(have-mtls-descriptor)
-CFLAGS-tst-gnu2-tls2mod0.c += -mtls-dialect=$(have-mtls-descriptor)
-CFLAGS-tst-gnu2-tls2mod1.c += -mtls-dialect=$(have-mtls-descriptor)
-CFLAGS-tst-gnu2-tls2mod2.c += -mtls-dialect=$(have-mtls-descriptor)
+ifneq (no,$(have-test-mtls-descriptor))
+CFLAGS-tst-tlsgap-mod0.c += -mtls-dialect=$(have-test-mtls-descriptor)
+CFLAGS-tst-tlsgap-mod1.c += -mtls-dialect=$(have-test-mtls-descriptor)
+CFLAGS-tst-tlsgap-mod2.c += -mtls-dialect=$(have-test-mtls-descriptor)
+CFLAGS-tst-gnu2-tls2mod0.c += -mtls-dialect=$(have-test-mtls-descriptor)
+CFLAGS-tst-gnu2-tls2mod1.c += -mtls-dialect=$(have-test-mtls-descriptor)
+CFLAGS-tst-gnu2-tls2mod2.c += -mtls-dialect=$(have-test-mtls-descriptor)
endif
$(objpfx)tst-recursive-tls: $(objpfx)tst-recursive-tlsmallocmod.so
@@ -3342,10 +3342,10 @@ $(objpfx)tst-tls22-mod1-gnu2.so: $(objpfx)tst-tls22-mod1-gnu2.os \
$(objpfx)tst-tls22-mod1-vars.os $(objpfx)tst-tls22-mod2-gnu2.so
$(objpfx)tst-tls22-mod2-gnu2.so: $(objpfx)tst-tls22-mod2-gnu2.os \
$(objpfx)tst-tls22-mod2-vars.os
-ifneq (no,$(have-mtls-descriptor))
-CFLAGS-tst-tls22-gnu2.c += -mtls-dialect=$(have-mtls-descriptor)
-CFLAGS-tst-tls22-mod1-gnu2.c += -mtls-dialect=$(have-mtls-descriptor)
-CFLAGS-tst-tls22-mod2-gnu2.c += -mtls-dialect=$(have-mtls-descriptor)
+ifneq (no,$(have-test-mtls-descriptor))
+CFLAGS-tst-tls22-gnu2.c += -mtls-dialect=$(have-test-mtls-descriptor)
+CFLAGS-tst-tls22-mod1-gnu2.c += -mtls-dialect=$(have-test-mtls-descriptor)
+CFLAGS-tst-tls22-mod2-gnu2.c += -mtls-dialect=$(have-test-mtls-descriptor)
endif
# These reference symbols from the main executable.
tst-tls22-mod1.so-no-z-defs = yes
diff --git a/sysdeps/arm/Makefile b/sysdeps/arm/Makefile
index 619474eca9..9c4fd6b236 100644
--- a/sysdeps/arm/Makefile
+++ b/sysdeps/arm/Makefile
@@ -13,15 +13,15 @@ $(objpfx)libgcc-stubs.a: $(objpfx)aeabi_unwind_cpp_pr1.os
lib-noranlib: $(objpfx)libgcc-stubs.a
ifeq ($(build-shared),yes)
-ifneq (no,$(have-mtls-descriptor))
+ifneq (no,$(have-test-mtls-descriptor))
tests += tst-armtlsdescloc tst-armtlsdescextnow tst-armtlsdescextlazy
modules-names += tst-armtlsdesclocmod
modules-names += tst-armtlsdescextlazymod tst-armtlsdescextnowmod
CPPFLAGS-tst-armtlsdescextnowmod.c += -Dstatic=
CPPFLAGS-tst-armtlsdescextlazymod.c += -Dstatic=
-CFLAGS-tst-armtlsdesclocmod.c += -mtls-dialect=$(have-mtls-descriptor)
-CFLAGS-tst-armtlsdescextnowmod.c += -mtls-dialect=$(have-mtls-descriptor)
-CFLAGS-tst-armtlsdescextlazymod.c += -mtls-dialect=$(have-mtls-descriptor)
+CFLAGS-tst-armtlsdesclocmod.c += -mtls-dialect=$(have-test-mtls-descriptor)
+CFLAGS-tst-armtlsdescextnowmod.c += -mtls-dialect=$(have-test-mtls-descriptor)
+CFLAGS-tst-armtlsdescextlazymod.c += -mtls-dialect=$(have-test-mtls-descriptor)
LDFLAGS-tst-armtlsdescextnowmod.so += -Wl,-z,now
tst-armtlsdescloc-ENV = LD_BIND_NOW=1
tst-armtlsdescextnow-ENV = LD_BIND_NOW=1
diff --git a/sysdeps/unix/sysv/linux/x86_64/Makefile b/sysdeps/unix/sysv/linux/x86_64/Makefile
index fcbffd81cb..fb834a7089 100644
--- a/sysdeps/unix/sysv/linux/x86_64/Makefile
+++ b/sysdeps/unix/sysv/linux/x86_64/Makefile
@@ -67,7 +67,7 @@ $(objpfx)libx86-64-isa-level.so: $(objpfx)libx86-64-isa-level-1.so
cp $< $@
endif
-ifeq (yes,$(have-mamx-tile))
+ifeq (yesgnu2,$(have-mamx-tile)$(have-test-mtls-descriptor))
tests += \
tst-gnu2-tls2-amx \
# tests