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

Rainer Orth <ro at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2024-05-16
                 CC|                            |ro at gcc dot gnu.org
         Resolution|FIXED                       |---
             Status|RESOLVED                    |REOPENED

--- Comment #10 from Rainer Orth <ro at gcc dot gnu.org> ---
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.

Reply via email to