From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) by sourceware.org (Postfix) with ESMTPS id 792A03858C27 for ; Tue, 22 Nov 2022 22:35:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 792A03858C27 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=maskray.me Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-pl1-f173.google.com with SMTP id io19so15010893plb.8 for ; Tue, 22 Nov 2022 14:35:29 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=n62d9cYMyaKRbi49lRcBMvQnl9kB+NEqYmsokujRW6U=; b=wBsSFNEJSINhwb2JQDXIj4cBtVr6r68LsIPUjGaHrI9sGshELZpVisKFb04k+QrMs1 NSaCdq/TlvhetKCdqUIkBA9ehy8GhIhmY6RITlzEz0I28OqZouyoufBIH3uB3f9HuGJu /DJXfhMyGf9gApyBSchKPrUyFXZBccRTWA8HrDeVn2PcVn5okmgKRSFn/aYXHxKhqb4X 7gwqltoTmq84zEhKMP+aoyNkbThnHzGX4JSPmnA1EECvFIyoCxmXEbktKu3xugSeuA5N bzbBVkqQb8LPLkjDgPSNFvSmHjl85jZ9L/JZDVkS/htvVLq7b87+JP2iCZQfzE1Zh+g+ M2sg== X-Gm-Message-State: ANoB5pmdpE9ieETyb4S5Rv6ltEiOkk54hVRiryQ6zyCrTREvOl4YmDzY XNbUgEkBjByVbiddqMlQzcMH93Qz+Ls= X-Google-Smtp-Source: AA0mqf4r+ivMC/mlxTjkf40EUzI76BbCCzt9SEMmK54gHSbZeGI+WcjzZhoEyS7CpOIBL6/g8QHwFQ== X-Received: by 2002:a17:902:b78b:b0:186:e2c3:91c6 with SMTP id e11-20020a170902b78b00b00186e2c391c6mr6151857pls.27.1669156528292; Tue, 22 Nov 2022 14:35:28 -0800 (PST) Received: from localhost ([2620:15c:2d1:206:8f65:b83b:5bfd:846]) by smtp.gmail.com with ESMTPSA id y24-20020aa78f38000000b0056ddd2ac8f1sm11170825pfr.211.2022.11.22.14.35.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Nov 2022 14:35:27 -0800 (PST) Date: Tue, 22 Nov 2022 14:35:25 -0800 From: Fangrui Song To: "H.J. Lu" Cc: binutils@sourceware.org Subject: Re: [PATCH] x86: Don't define _TLS_MODULE_BASE_ for ld -r Message-ID: <20221122223525.xtfefeosll66ixbm@gmail.com> References: <20221122220236.429230-1-hjl.tools@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline In-Reply-To: <20221122220236.429230-1-hjl.tools@gmail.com> X-Spam-Status: No, score=-9.1 required=5.0 tests=BAYES_00,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,GIT_PATCH_0,HEADER_FROM_DIFFERENT_DOMAINS,KAM_DMARC_STATUS,KAM_INFOUSMEBIZ,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,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: On 2022-11-22, H.J. Lu via Binutils wrote: >bfd/ > > PR ld/29820 > * elfxx-x86.c (_bfd_x86_elf_always_size_sections): Don't define > _TLS_MODULE_BASE_ for ld -r. > >ld/ > > PR ld/29820 > * testsuite/ld-x86-64/pr29820.d: New file. > * testsuite/ld-x86-64/pr29820.s: Likewise. > * testsuite/ld-x86-64/x86-64.ex: Run pr29820. >--- > bfd/elfxx-x86.c | 2 +- > ld/testsuite/ld-x86-64/pr29820.d | 6 ++++++ > ld/testsuite/ld-x86-64/pr29820.s | 12 ++++++++++++ > ld/testsuite/ld-x86-64/x86-64.exp | 1 + > 4 files changed, 20 insertions(+), 1 deletion(-) > create mode 100644 ld/testsuite/ld-x86-64/pr29820.d > create mode 100644 ld/testsuite/ld-x86-64/pr29820.s > >diff --git a/bfd/elfxx-x86.c b/bfd/elfxx-x86.c >index c48d0385485..bbf868826e5 100644 >--- a/bfd/elfxx-x86.c >+++ b/bfd/elfxx-x86.c >@@ -2932,7 +2932,7 @@ _bfd_x86_elf_always_size_sections (bfd *output_bfd, > { > asection *tls_sec = elf_hash_table (info)->tls_sec; > >- if (tls_sec) >+ if (tls_sec && !bfd_link_relocatable (info)) > { > struct elf_link_hash_entry *tlsbase; > >diff --git a/ld/testsuite/ld-x86-64/pr29820.d b/ld/testsuite/ld-x86-64/pr29820.d >new file mode 100644 >index 00000000000..8dc5d6151c3 >--- /dev/null >+++ b/ld/testsuite/ld-x86-64/pr29820.d >@@ -0,0 +1,6 @@ >+#ld: -r >+#readelf: -s -W >+ >+#... >+ +[0-9]+: +0+ +0 +TLS +GLOBAL +DEFAULT +UND +_TLS_MODULE_BASE_ >+#pass >diff --git a/ld/testsuite/ld-x86-64/pr29820.s b/ld/testsuite/ld-x86-64/pr29820.s >new file mode 100644 >index 00000000000..7a4815ff7c5 >--- /dev/null >+++ b/ld/testsuite/ld-x86-64/pr29820.s >@@ -0,0 +1,12 @@ >+ .text >+ leaq _TLS_MODULE_BASE_@tlsdesc(%rip), %rax >+ call *_TLS_MODULE_BASE_@tlscall(%rax) >+ movl %fs:a@dtpoff(%rax), %edx >+ addl %fs:b@dtpoff(%rax), %edx >+ >+ .section .tbss >+ .zero 8 >+a: >+ .zero 4 >+b: >+ .zero 4 >diff --git a/ld/testsuite/ld-x86-64/x86-64.exp b/ld/testsuite/ld-x86-64/x86-64.exp >index 1782e8e5def..136371bd5a2 100644 >--- a/ld/testsuite/ld-x86-64/x86-64.exp >+++ b/ld/testsuite/ld-x86-64/x86-64.exp >@@ -728,6 +728,7 @@ run_dump_test "pr27016a" > run_dump_test "pr27016b" > run_dump_test "report-reloc-1" > run_dump_test "report-reloc-1-x32" >+run_dump_test "pr29820" > > proc undefined_weak {cflags ldflags} { > set testname "Undefined weak symbol" >-- >2.38.1 > Thanks for the rapid fix!