From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pj1-x1030.google.com (mail-pj1-x1030.google.com [IPv6:2607:f8b0:4864:20::1030]) by sourceware.org (Postfix) with ESMTPS id A34133858C83 for ; Tue, 15 Feb 2022 23:07:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A34133858C83 Received: by mail-pj1-x1030.google.com with SMTP id n19-20020a17090ade9300b001b9892a7bf9so4684081pjv.5 for ; Tue, 15 Feb 2022 15:07:15 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=nPLpgYqW+wkDEtBR5xkE9OJwu01xAhmOlyZEvZMHj38=; b=2iIRuiW3HNTJXSPXeHspmTwVOoxWHqUWnd0CM1jHPtmzaEVtJ3XGL9u/r0yN4qajwp w5GOSIJ/yRlmgMq2SY95DMOCpjGhlEzMkV0DbfEssT0Rb5HwlRmiQqxwcB32oAdS8OGT Z02q7qSu/6Ao4ofQny0LG7SWN9dh9tojGGiUHyK+PO+AxutPWyD0tFJo4u4RWDKb1D5X 2V93Iz1uzXJgu/dWRqnGh4jW6A8fbNSSAl0fuzXDU7hM/15frEMdCiz1uaXkJ+x//TkM Vtbb4DVbLwCa14kgC/1J4JZpB9yYwz5Tdu6JX4IvU6JT7Yr4H3rYi21tBGfYMfpfEwjH /lpA== X-Gm-Message-State: AOAM530QqGeD7X+eZITirSlJKWdnaEiv05RsM1zsnoy3X0twCGIkZY18 c+41COZotXIRXIQ49wAw37TYE4mfr3g= X-Google-Smtp-Source: ABdhPJyp0cf5/ZBYncFh6jkIf80E0W5UNytpbOilZrJ++AnDPyUnjSqnFhvG/IqcADgkjbI3Anxbsw== X-Received: by 2002:a17:90a:301:: with SMTP id 1mr1272558pje.200.1644966434524; Tue, 15 Feb 2022 15:07:14 -0800 (PST) Received: from gnu-tgl-3.localdomain ([172.58.38.240]) by smtp.gmail.com with ESMTPSA id x7sm1760867pfh.216.2022.02.15.15.07.13 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Feb 2022 15:07:13 -0800 (PST) Received: from gnu-tgl-3.. (localhost [IPv6:::1]) by gnu-tgl-3.localdomain (Postfix) with ESMTP id 0FF1EC02F6 for ; Tue, 15 Feb 2022 15:07:13 -0800 (PST) From: "H.J. Lu" To: binutils@sourceware.org Subject: [PATCH] i386: Update I386_NEED_DYNAMIC_RELOC_TYPE_P for DT_TEXTREL Date: Tue, 15 Feb 2022 15:07:13 -0800 Message-Id: <20220215230713.4096139-1-hjl.tools@gmail.com> X-Mailer: git-send-email 2.35.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-3029.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Feb 2022 23:07:17 -0000 Update I386_NEED_DYNAMIC_RELOC_TYPE_P to allow R_386_TLS_IE for relocation in read-only section. bfd/ PR ld/28894 * elfxx-x86.h (I386_NEED_DYNAMIC_RELOC_TYPE_P): Allow R_386_TLS_IE. ld/ PR ld/28894 * testsuite/ld-i386/i386.exp: Run pr28894. * testsuite/ld-i386/pr28894.d: New file. * testsuite/ld-i386/pr28894.s: Likewise. --- bfd/elfxx-x86.h | 1 + ld/testsuite/ld-i386/i386.exp | 1 + ld/testsuite/ld-i386/pr28894.d | 3 +++ ld/testsuite/ld-i386/pr28894.s | 7 +++++++ 4 files changed, 12 insertions(+) create mode 100644 ld/testsuite/ld-i386/pr28894.d create mode 100644 ld/testsuite/ld-i386/pr28894.s diff --git a/bfd/elfxx-x86.h b/bfd/elfxx-x86.h index 3219f363a9a..77fb1ad72bc 100644 --- a/bfd/elfxx-x86.h +++ b/bfd/elfxx-x86.h @@ -80,6 +80,7 @@ #define I386_NEED_DYNAMIC_RELOC_TYPE_P(TYPE) \ (I386_SIZE_TYPE_P (TYPE) \ || I386_RELATIVE_RELOC_TYPE_P (TYPE) \ + || (TYPE) == R_386_TLS_IE \ || (TYPE) == R_386_TLS_LE \ || (TYPE) == R_386_TLS_LE_32) #define X86_NEED_DYNAMIC_RELOC_TYPE_P(IS_X86_64, TYPE) \ diff --git a/ld/testsuite/ld-i386/i386.exp b/ld/testsuite/ld-i386/i386.exp index d997c757325..fadbd160420 100644 --- a/ld/testsuite/ld-i386/i386.exp +++ b/ld/testsuite/ld-i386/i386.exp @@ -510,6 +510,7 @@ run_dump_test "pr27491-4" run_dump_test "dt-relr-1a" run_dump_test "dt-relr-1b" run_dump_test "pr28870" +run_dump_test "pr28894" if { !([istarget "i?86-*-linux*"] || [istarget "i?86-*-gnu*"] diff --git a/ld/testsuite/ld-i386/pr28894.d b/ld/testsuite/ld-i386/pr28894.d new file mode 100644 index 00000000000..a8d1111eb1f --- /dev/null +++ b/ld/testsuite/ld-i386/pr28894.d @@ -0,0 +1,3 @@ +#as: --32 +#ld: -shared -melf_i386 --warn-shared-textrel --fatal-warnings +#error: .*warning: creating DT_TEXTREL in a shared object diff --git a/ld/testsuite/ld-i386/pr28894.s b/ld/testsuite/ld-i386/pr28894.s new file mode 100644 index 00000000000..1d3e3f37f3e --- /dev/null +++ b/ld/testsuite/ld-i386/pr28894.s @@ -0,0 +1,7 @@ + .text + addl foo@INDNTPOFF, %eax + .section .tbss,"awT",@nobits + .globl foo + .hidden foo +foo: + .byte 0 -- 2.35.1