From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by sourceware.org (Postfix) with ESMTP id C6447383E6A2 for ; Mon, 23 May 2022 08:05:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C6447383E6A2 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 7079E139F; Mon, 23 May 2022 01:05:43 -0700 (PDT) Received: from localhost (e121540-lin.manchester.arm.com [10.32.98.37]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C21093F73D; Mon, 23 May 2022 01:05:42 -0700 (PDT) From: Richard Sandiford To: Joel Brobecker via Gcc-patches Mail-Followup-To: Joel Brobecker via Gcc-patches , Joel Brobecker , richard.sandiford@arm.com Cc: Joel Brobecker Subject: Re: [ping] Re: [RFA] gcc.misc-tests/outputs.exp: Use link test to check for -gsplit-dwarf support References: <20220425160451.85324-1-brobecker@adacore.com> Date: Mon, 23 May 2022 09:05:41 +0100 In-Reply-To: (Joel Brobecker via Gcc-patches's message of "Mon, 16 May 2022 10:23:17 -0700") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Status: No, score=-12.3 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE 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: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 May 2022 08:05:47 -0000 Joel Brobecker via Gcc-patches writes: > Hello, > > Gentle ping on this patch. > > Thank you! > > On Mon, Apr 25, 2022 at 09:04:51AM -0700, Joel Brobecker wrote: >> Hello, >> >> We have noticed that, when running the GCC testsuite on AArch64 >> RTEMS 6, we have about 150 tests failing due to a link failure. >> When investigating, we found that all the tests were failing >> due to the use of -gsplit-dwarf. >> >> On this platform, using -gsplit-dwarf currently causes an error >> during the link: >> >> | /[...]/ld: a.out section `.unexpected_sections' will not fit >> | in region `UNEXPECTED_SECTIONS' >> | /[...]/ld: region `UNEXPECTED_SECTIONS' overflowed by 56 bytes >> >> The error is a bit cryptic, but the source of the issue is that >> the linker does not currently support the sections generated >> by -gsplit-dwarf (.debug_gnu_pubnames, .debug_gnu_pubtypes). >> This means that the -gsplit-dwarf feature itself really isn't >> supported on this platform, at least for the moment. >> >> This commit enhances the -gsplit-dwarf support check to be >> a compile-and-link check, rather than just a compile check. >> This allows it to properly detect that this feature isn't >> supported on platforms such as AArch64 RTEMS where the compilation >> works, but not the link. >> >> Tested on aarch64-rtems, where a little over 150 tests are now >> passing, instead of failing, as well as on x86_64-linux, where >> the results are identical, and where the .log file was also manually >> inspected to make sure that the use of the -gsplit-dwarf option >> was preserved. >> >> gcc/testsuite/ChangeLog: >> >> * gcc.misc-tests/outputs.exp: Make the -gsplit-dwarf test >> a compile-and-link test rather than a compile-only test. OK, thanks. Richard >> OK to push on master? >> >> Thank you, >> -- >> Joel >> >> --- >> gcc/testsuite/gcc.misc-tests/outputs.exp | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/gcc/testsuite/gcc.misc-tests/outputs.exp b/gcc/testsuite/gcc.misc-tests/outputs.exp >> index bc1fbe4eb7f..afae735e92d 100644 >> --- a/gcc/testsuite/gcc.misc-tests/outputs.exp >> +++ b/gcc/testsuite/gcc.misc-tests/outputs.exp >> @@ -36,8 +36,8 @@ gcc_parallel_test_enable 0 >> # having to deal with .dSYM directories, as long as -gsplit-dwarf is >> # not supported on platforms that use .dSYM directories. >> set gsplit_dwarf "-g -gsplit-dwarf" >> -if ![check_no_compiler_messages gsplitdwarf object { >> - void foo (void) { } >> +if ![check_no_compiler_messages gsplitdwarf executable { >> + int main (void) { return 0; } >> } "$gsplit_dwarf"] { >> set gsplit_dwarf "" >> } >> -- >> 2.32.0 >>