Joel Brobecker via Gcc-patches <gcc-patches@gcc.gnu.org> 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
>> 

Reply via email to