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} ... ?