From patchwork Sat Jun 22 10:05:57 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xi Ruoyao X-Patchwork-Id: 92714 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 36CF0382FAF9 for ; Sat, 22 Jun 2024 10:07:00 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from xry111.site (xry111.site [89.208.246.23]) by sourceware.org (Postfix) with ESMTPS id 9F1D1385DDCC for ; Sat, 22 Jun 2024 10:06:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9F1D1385DDCC Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=xry111.site Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=xry111.site ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 9F1D1385DDCC Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=89.208.246.23 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1719050795; cv=none; b=ewlqa9I3FBLOSAUmFUdBmHGSg2OuHfzTx7FhhOOgGdZqMM7bL8NiW5erl9kKyeGI8Ar+4wYBnqCY6wm2PnJjtgotp593nKbYT3+Y6al3XBg61lvgUketkGS+ID0ltajn7r5UjqlFTWNPuTtB4G1n6aOJpfwAAnDbe2dt1+wF+cg= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1719050795; c=relaxed/simple; bh=E8UuppEt9bOV3wbP1W3dcKdfQz2UGeBbPUpkkd8lS+M=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=s2pxOwQjKe0HYoNdZg5RKePuEYCndFlkHnbZHV/bFEHfX2vD+43EaExa8nK8rZui2ie7h5iIggNk84XceKZaGv8AgTS0HucN9wF2j2hRpXcLeIfOVq7xda2i9iaXjM4e4unh5oPIz5443amYWSBDvNh0FN1pJH6lDF44Ssn/xV0= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=xry111.site; s=default; t=1719050792; bh=E8UuppEt9bOV3wbP1W3dcKdfQz2UGeBbPUpkkd8lS+M=; h=From:To:Cc:Subject:Date:From; b=YkOgvSdCNSeXdaFlEcNYuWdwubBZ9H4mlOgZCtkKDc3SYT8qylvwT4hyWC1FEmpmy fBSmroqx5DhPiideQiqDF+x+eU1mrm0LxzI5F47bIOm4zjddEMvAFHzKeYHICF6vLB seiy0SD/9JqKvbkveU+bCMPxL+4C2UO+UvQqbu6U= Received: from stargazer.. (unknown [113.200.174.70]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (Client did not present a certificate) (Authenticated sender: xry111@xry111.site) by xry111.site (Postfix) with ESMTPSA id 72D7E670F4; Sat, 22 Jun 2024 06:06:30 -0400 (EDT) From: Xi Ruoyao To: binutils@sourceware.org Cc: mengqinggang@loongson.cn, Zhensong Liu , i.swmail@xen0n.name, maskray@google.com, Szabolcs Nagy , Xi Ruoyao Subject: [PATCH] ld: testsuite: Add a bootstrap test using -Wl, -z, pack-relative-relocs if DT_RELR supported Date: Sat, 22 Jun 2024 18:05:57 +0800 Message-ID: <20240622100557.10155-1-xry111@xry111.site> X-Mailer: git-send-email 2.45.2 MIME-Version: 1.0 X-Spam-Status: No, score=-9.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, LIKELY_SPAM_FROM, 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 X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces+patchwork=sourceware.org@sourceware.org This helps to test the correctness of DT_RELR. Signed-off-by: Xi Ruoyao --- ld/testsuite/ld-bootstrap/bootstrap.exp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/ld/testsuite/ld-bootstrap/bootstrap.exp b/ld/testsuite/ld-bootstrap/bootstrap.exp index 437a3bc6842..2eaae3a0d45 100644 --- a/ld/testsuite/ld-bootstrap/bootstrap.exp +++ b/ld/testsuite/ld-bootstrap/bootstrap.exp @@ -69,6 +69,9 @@ if { [istarget "powerpc-*-*"] } { if { [is_elf_format] && ![is_bad_symtab] } { lappend test_flags "-Wl,-z,nosectionheader" } +if { [supports_dt_relr] } then { + lappend test_flags "-Wl,-z,pack-relative-relocs" +} set gcc_B_opt_save $gcc_B_opt @@ -97,12 +100,13 @@ foreach flags $test_flags { set testname "bootstrap" }} - # --static is meaningless. --relax and -z nosectionheader are - # incompatible with -r. + # --static is meaningless. --relax, -z nosectionheader, and + # -z pack-relative-relocs are incompatible with -r. regsub -- "-Wl," $flags "" partial_flags if { "$partial_flags" == "--static" \ || "$partial_flags" == "--relax" \ - || [string match "*nosectionheader*" "$partial_flags"] } { + || [string match "*nosectionheader*" "$partial_flags"] + || [string match "*pack-relative-relocs*" "$partial_flags"] } { set partial_flags "" }