[0/3] LoongArch: Allow and correctly resolve PC-relative relocs against local undefined weak symbols
| Message ID | 20241213055427.579306-1-xry111@xry111.site |
|---|---|
| Headers |
Return-Path: <binutils-bounces~patchwork=sourceware.org@sourceware.org> 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 D2FCC3858C52 for <patchwork@sourceware.org>; Fri, 13 Dec 2024 05:56:29 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D2FCC3858C52 Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=xry111.site header.i=@xry111.site header.a=rsa-sha256 header.s=default header.b=RxLd145e 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 51F913858D35 for <binutils@sourceware.org>; Fri, 13 Dec 2024 05:54:52 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 51F913858D35 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 51F913858D35 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=1734069292; cv=none; b=sgoTANUj6l+34GbnLOJj7cVzdu8fkd/0R5qaIwOYm5ifFkJvVzS+imiGXrEzxFscRA73EGowWOeicC7V2FjVkIfm5pYvcKw5Yvp3ica+Uy30vLOYKb+h9rDVIvjB1/8cddHlWc0vQlQQ2FLLOV4/2lUrcYf99v5ecmA3cMLDm+c= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1734069292; c=relaxed/simple; bh=N+XGwJrnghyNyAiYWAQivSO+/zZinBjCV1f6PQHt0Lo=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=jJ64INtjao4QrDEQXIOpTMTnQV0J/eSPmdOrgfnYwOFLyzci/hZJAv0qiLxnQIPN9wbOxvQ67ZCEhCppWkcAZoz7/NGHANZ2uk/p3+E/iH8Dh3ByXRCdxT5O17R4RfW9I+BuV+idbFKtpZhlKBEPqH1efwyonBidv3w/3rTW0Go= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 51F913858D35 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xry111.site; s=default; t=1734069290; bh=Og7ZEaSMcpFtHcahzvmNrAhvPgFHH9qk9vUOkaVU6BI=; h=From:To:Cc:Subject:Date:From; b=RxLd145eetSt00AXLW6nN8Up5vhLy8E3sGwANewl9cvaU5S++0MtASpwE++/tqJUL 8vu3315QETea153tpK15rLafUWgYTCfFxFmNkItY13TbxUI4AiV5bxQ85+RxkxDhvo 6s0IxC73dAKOlVFaCr+w4kTfHkEIc80EO87UtnSY= Received: from stargazer.. (unknown [IPv6:240e:457:1120:870:571c:7044:9d4:458a]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (Client did not present a certificate) (Authenticated sender: xry111@xry111.site) by xry111.site (Postfix) with ESMTPSA id 79C3A676A1; Fri, 13 Dec 2024 00:54:43 -0500 (EST) From: Xi Ruoyao <xry111@xry111.site> To: binutils@sourceware.org Cc: Xi Ruoyao <xry111@xry111.site>, mengqinggang@loongson.cn, Lulu Cai <cailulu@loongson.cn>, Chenghua Xu <xuchenghua@loongson.cn>, Huacai Chen <chenhuacai@kernel.org>, WANG Xuerui <kernel@xen0n.name> Subject: [PATCH 0/3] LoongArch: Allow and correctly resolve PC-relative relocs against local undefined weak symbols Date: Fri, 13 Dec 2024 13:53:49 +0800 Message-ID: <20241213055427.579306-1-xry111@xry111.site> X-Mailer: git-send-email 2.47.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, LIKELY_SPAM_FROM, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=no 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 <binutils.sourceware.org> List-Unsubscribe: <https://sourceware.org/mailman/options/binutils>, <mailto:binutils-request@sourceware.org?subject=unsubscribe> List-Archive: <https://sourceware.org/pipermail/binutils/> List-Post: <mailto:binutils@sourceware.org> List-Help: <mailto:binutils-request@sourceware.org?subject=help> List-Subscribe: <https://sourceware.org/mailman/listinfo/binutils>, <mailto:binutils-request@sourceware.org?subject=subscribe> Errors-To: binutils-bounces~patchwork=sourceware.org@sourceware.org |
| Series |
LoongArch: Allow and correctly resolve PC-relative relocs against local undefined weak symbols
|
|
Message
Xi Ruoyao
Dec. 13, 2024, 5:53 a.m. UTC
Prompted by https://lore.kernel.org/loongarch/20241206085810.112341-1-chenhuacai@loongson.cn/.
Cc: mengqinggang@loongson.cn
Cc: Lulu Cai <cailulu@loongson.cn>
Cc: Chenghua Xu <xuchenghua@loongson.cn>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: WANG Xuerui <kernel@xen0n.name>
Xi Ruoyao (3):
LoongArch: Fix resolution of undefined weak hidden/protected symbols
LoongArch: Allow R_LARCH_PCALA_HI20 or R_LARCH_PCREL20_S2 against
undefined weak symbols for static PIE
LoongArch: Reword message for unresolvable PC-relative relocs
bfd/elfnn-loongarch.c | 104 +++++++++++++-----
include/opcode/loongarch.h | 2 +
.../ld-loongarch-elf/bad_pcala_hi20_global.d | 2 +-
.../bad_pcala_hi20_global_pie.d | 2 +-
.../ld-loongarch-elf/bad_pcala_hi20_weak.d | 2 +-
.../bad_pcala_hi20_weak_pie.d | 2 +-
.../ld-loongarch-elf/bad_pcrel20_s2_global.d | 2 +-
.../ld-loongarch-elf/bad_pcrel20_s2_weak.d | 2 +-
.../ld-loongarch-elf/ld-loongarch-elf.exp | 3 +
.../ld-loongarch-elf/weak-undef-hidden-pie.d | 14 +++
.../weak-undef-hidden-shared.d | 14 +++
.../ld-loongarch-elf/weak-undef-hidden.s | 9 ++
.../ld-loongarch-elf/weak-undef-static-pie.d | 13 +++
.../ld-loongarch-elf/weak-undef-static-pie.s | 8 ++
14 files changed, 147 insertions(+), 32 deletions(-)
create mode 100644 ld/testsuite/ld-loongarch-elf/weak-undef-hidden-pie.d
create mode 100644 ld/testsuite/ld-loongarch-elf/weak-undef-hidden-shared.d
create mode 100644 ld/testsuite/ld-loongarch-elf/weak-undef-hidden.s
create mode 100644 ld/testsuite/ld-loongarch-elf/weak-undef-static-pie.d
create mode 100644 ld/testsuite/ld-loongarch-elf/weak-undef-static-pie.s