Joel Brobecker via Gcc-patches <[email protected]> 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
>>