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

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

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

--- Comment #6 from Rainer Orth <ro at gcc dot gnu.org> ---
Unfortunately, while the previous failures are gone on Solaris, I've got two
new
ones now:

FAIL: gcc.dg/debug/dwarf2/inline5.c scan-assembler-not \\\\(DIE
\\\\(0x([0-9a-f]*)\\\\) DW_TAG_lexical_block\\\\)[^#/!]*[#/!]
[^(].*DW_TAG_lexical_block\\\\)[^#/!x]*x\\\\1[^#/!]*[#/!] DW_AT_abstract_origin
FAIL: gcc.dg/debug/dwarf2/inline5.c scan-assembler-times
DW_TAG_lexical_block\\\\)[^#/!]*[#/!] \\\\(DIE \\\\(0x[0-9a-f]*\\\\)
DW_TAG_variable 1

Again, both 32 and 64-bit sparc and x86.

The latter seems to be due to the fact that the Solaris assemblers don't
support
.uleb, so we have

  x86:

        .byte   0xc     / uleb128 0xc; (DIE (0x19f) DW_TAG_lexical_block)
        .byte   0xd     / uleb128 0xd; (DIE (0x1a0) DW_TAG_variable)

  sparc:

        .byte   0xc     ! uleb128 0xc; (DIE (0x18b) DW_TAG_lexical_block)
        .byte   0xd     ! uleb128 0xd; (DIE (0x18c) DW_TAG_variable)

which needs to be accounted for.

The former is probably caused by Tcl doing multiline matches by default, so
"." in a regex also matches newline.

I'm attaching the sparc and x86 assembler output for reference.

Reply via email to