https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115066

Tom de Vries <vries at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|REOPENED                    |RESOLVED

--- Comment #11 from Tom de Vries <vries at gcc dot gnu.org> ---
(In reply to Rainer Orth from comment #10)
> The new test currently FAILs on Solaris/SPARC with the native as:
> 
> FAIL: gcc.dg/pr115066.c scan-assembler \\\\.byte\\\\t0xb\\\\t# Define macro
> strx
> 
> The relevant snippet of pr115066.s is
> 
>         .section        ".debug_macro.dwo",#exclude,#progbits
> .LLdebug_macro0:
>         .uahalf 0x4     ! DWARF macro version number
>         .byte   0x2     ! Flags: 32-bit, lineptr present
>         .uaword .LLskeleton_debug_line0
>         .byte   0x1     ! Define macro
> 
> while when using gas, I have
> 
>         .section        .debug_macro.dwo,"e",@progbits
> .LLdebug_macro0: 
>         .uahalf 0x4     ! DWARF macro version number
>         .byte   0x2     ! Flags: 32-bit, lineptr present
>         .uaword .LLskeleton_debug_line0
>         .byte   0xb     ! Define macro strx
> 
> AFAICS from dwarf2out.cc (output_macinfo_op), the requirements for using
> DW_MACRO_define_strx are (among others)
> !DWARF2_INDIRECT_STRING_SUPPORT_MISSING_ON_TARGET && SECTION_MERGE.
> 
> However, with the native assembler, SHF_MERGE doesn't work (as emits
> something
> ld cannot link).
> 
> I wonder how best to handle this: just skip the test on sparc*-sun-solaris2*
> && !gas?  Theoretically, there could be other targets with similar issues.

This looks like test-case issue, so re-closing the PR.

How about:
...
-/* { dg-final { scan-assembler {\.byte\t0xb\t[^\n\r]* Define macro strx} } }
*/
+/* { dg-final { scan-assembler {\.byte\t0xb\t[^\n\r]* Define macro
strx|\.byte\t0x1\t[^\n\r]* Define macro}
...
?

Reply via email to