From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 7814) id 44AC33952019; Mon, 16 Aug 2021 17:15:35 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 44AC33952019 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Fangrui Song To: glibc-cvs@sourceware.org Subject: [glibc/maskray/lld] elf: Skip tst-auditlogmod-* if the linker doesn't support --depaudit [BZ #28151] X-Act-Checkin: glibc X-Git-Author: Fangrui Song X-Git-Refname: refs/heads/maskray/lld X-Git-Oldrev: 33c50ef42878b07ee6ead8b3f1a81d8c2c74697c X-Git-Newrev: f776c7adef822fc805f794b846a8abac8db79d27 Message-Id: <20210816171535.44AC33952019@sourceware.org> Date: Mon, 16 Aug 2021 17:15:35 +0000 (GMT) X-BeenThere: glibc-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Glibc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Aug 2021 17:15:35 -0000 https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=f776c7adef822fc805f794b846a8abac8db79d27 commit f776c7adef822fc805f794b846a8abac8db79d27 Author: Fangrui Song Date: Sun Jul 25 17:42:15 2021 -0700 elf: Skip tst-auditlogmod-* if the linker doesn't support --depaudit [BZ #28151] gold and ld.lld do not support --audit or --depaudit. Diff: --- configure | 34 ++++++++++++++++++++++++++++++++++ configure.ac | 4 ++++ elf/Makefile | 4 +++- 3 files changed, 41 insertions(+), 1 deletion(-) diff --git a/configure b/configure index 7272fbf6ea..61ff26487e 100755 --- a/configure +++ b/configure @@ -5969,6 +5969,40 @@ $as_echo "$libc_linker_feature" >&6; } config_vars="$config_vars have-z-start-stop-gc = $libc_cv_z_start_stop_gc" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for linker that supports --depaudit" >&5 +$as_echo_n "checking for linker that supports --depaudit... " >&6; } +libc_linker_feature=no +if test x"$gnu_ld" = x"yes"; then + libc_linker_check=`$LD -v --help 2>/dev/null | grep "\--depaudit"` + if test -n "$libc_linker_check"; then + cat > conftest.c <&5 + (eval $ac_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } + then + libc_linker_feature=yes + fi + rm -f conftest* + fi +fi +if test $libc_linker_feature = yes; then + libc_cv_depaudit=yes +else + libc_cv_depaudit=no +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_linker_feature" >&5 +$as_echo "$libc_linker_feature" >&6; } +config_vars="$config_vars +have-depaudit = $libc_cv_depaudit" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for linker that supports --no-dynamic-linker" >&5 $as_echo_n "checking for linker that supports --no-dynamic-linker... " >&6; } libc_linker_feature=no diff --git a/configure.ac b/configure.ac index af47cd51e6..e250f0e20b 100644 --- a/configure.ac +++ b/configure.ac @@ -1337,6 +1337,10 @@ LIBC_LINKER_FEATURE([-z start-stop-gc], [-Wl,-z,start-stop-gc], [libc_cv_z_start_stop_gc=yes], [libc_cv_z_start_stop_gc=no]) LIBC_CONFIG_VAR([have-z-start-stop-gc], [$libc_cv_z_start_stop_gc]) +LIBC_LINKER_FEATURE([--depaudit], [-Wl,--depaudit,x], + [libc_cv_depaudit=yes], [libc_cv_depaudit=no]) +LIBC_CONFIG_VAR([have-depaudit], [$libc_cv_depaudit]) + LIBC_LINKER_FEATURE([--no-dynamic-linker], [-Wl,--no-dynamic-linker], [libc_cv_no_dynamic_linker=yes], diff --git a/elf/Makefile b/elf/Makefile index 725537c40b..9f3fadc37e 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -219,7 +219,6 @@ tests += restest1 preloadtest loadfail multiload origtest resolvfail \ tst-dlopen-self tst-auditmany tst-initfinilazyfail tst-dlopenfail \ tst-dlopenfail-2 \ tst-filterobj tst-filterobj-dlopen tst-auxobj tst-auxobj-dlopen \ - tst-audit14 tst-audit15 tst-audit16 tst-audit17 \ tst-single_threaded tst-single_threaded-pthread \ tst-tls-ie tst-tls-ie-dlmopen argv0test \ tst-glibc-hwcaps tst-glibc-hwcaps-prepend tst-glibc-hwcaps-mask \ @@ -238,6 +237,9 @@ selinux-enabled := $(shell cat /selinux/enforce 2> /dev/null) ifneq ($(selinux-enabled),1) tests-execstack-yes = tst-execstack tst-execstack-needed tst-execstack-prog endif +ifeq ($(have-depaudit),yes) +tests += tst-audit14 tst-audit15 tst-audit16 +endif endif tests += $(tests-execstack-$(have-z-execstack)) ifeq ($(run-built-tests),yes)