From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) by sourceware.org (Postfix) with ESMTP id AD6F03858D39 for ; Tue, 7 Mar 2023 10:45:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org AD6F03858D39 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gentoo.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gentoo.org From: =?UTF-8?q?Arsen=20Arsenovi=C4=87?= To: libc-alpha@sourceware.org Cc: fweimer@redhat.com, arsen@gentoo.org, carlos@redhat.com, toolchain@gentoo.org Subject: [PATCH v3 1/2] elf,nptl: Add -z lazy to some more tests Date: Tue, 7 Mar 2023 11:29:34 +0100 Message-Id: <20230307102935.2882450-1-arsen@gentoo.org> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-9.5 required=5.0 tests=BAYES_00,GIT_PATCH_0,JMQ_SPF_NEUTRAL,KAM_DMARC_STATUS,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Some toolchains, such as that used on Gentoo Hardened, set -z now out of the box. This trips up a couple of tests. --- Hi, This is re-roll of the following patch series: https://inbox.sourceware.org/libc-alpha/20230307003222.2810662-1-arsen@aarsen.me/ https://inbox.sourceware.org/libc-alpha/20230302112519.914641-1-arsen@gentoo.org/ Changes from v2: - Split off the +$(objpfx)resolvfail.out: $(objpfx)testobj1.so change into its own commit. Changes from v1: - Dropped -z norelro. This turned out to be unnecessary after Adhemervals removal of --with-default-link and linker script machinery: https://patchwork.sourceware.org/project/glibc/list/?series=17843 See: https://inbox.sourceware.org/libc-alpha/86fsakz5mr.fsf@gentoo.org for an explanation of what caused the need for norelro. That fix was misguided, due to a previous error on my part, too. I applied this patch on top of that patchset and it would appear to resolve all related failures. The above is not applied to Git yet, but should be before this patch is. elf/Makefile | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) elf/Makefile | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/elf/Makefile b/elf/Makefile index dcdfd0af87..b9c77604b5 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -1176,6 +1176,11 @@ postclean-generated += $(objpfx)/dso-sort-tests-2.generated-makefile \ ifeq (yes,$(have-tunables)) $(eval $(call include_dsosort_tests,dso-sort-tests-1.def)) $(eval $(call include_dsosort_tests,dso-sort-tests-2.def)) + +# BZ15311 is intentionally underlinked. +LDFLAGS-tst-bz15311-b.so += -Wl,-z,lazy +LDFLAGS-tst-bz15311-c.so += -Wl,-z,lazy +LDFLAGS-tst-bz15311-d.so += -Wl,-z,lazy endif check-abi: $(objpfx)check-abi-ld.out \ @@ -1498,6 +1503,20 @@ LDFLAGS-tst-initorderb2.so = -Wl,--no-as-needed LDFLAGS-tst-tlsmod5.so = -nostdlib -Wl,--no-as-needed LDFLAGS-tst-tlsmod6.so = -nostdlib -Wl,--no-as-needed +# The following tests are underlinked, and rely on late loading. On toolchains +# that set -z now by default, this leads to failures to load or fix up the +# executables being tested. +LDFLAGS-circlemod2.so = -Wl,-z,lazy +LDFLAGS-tst-tls20mod-bad.so = -Wl,-z,lazy +LDFLAGS-reldep6mod1.so += -Wl,-z,lazy +LDFLAGS-constload2.so = -Wl,-z,lazy +LDFLAGS-constload3.so = -Wl,-z,lazy +LDFLAGS-dblloadmod3.so = -Wl,-z,lazy +LDFLAGS-ifuncmod6.so = -Wl,-z,lazy +LDFLAGS-ltglobmod2.so = -Wl,-z,lazy +LDFLAGS-testobj1.so = -Wl,-z,lazy +LDFLAGS-testobj6.so = -Wl,-z,lazy + testobj1.so-no-z-defs = yes testobj3.so-no-z-defs = yes testobj4.so-no-z-defs = yes -- 2.39.2