This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Suppress explicit dwarf2 tests under Clang due to reliance on global inline asm ordering


(contrary to my prior claim, I do seem to have commit after review
access to gdb (I see my name in the commit log) - I'll just have to
figure out how to do that... - so I just need approval, don't need
someone to commit this for me)

These were all the tests that I could find that had "asm.*\.globl" in
a c file. All of them had failures under Clang except for
dw2-unresolved.exp, though the resulting dwarf would still be
incorrect in that test it was just "getting lucky", I suppose. For
sanity I disabled it as well.

"unsupported" seemed like the right result to use according to
http://ftp.gnu.org/old-gnu/Manuals/dejagnu-1.3/html_chapter/dejagnu_3.html
- even though "untested" seems to be often used synonymously (the
dejagnu manual seems to indicate that untested shouldn't be used for
these sort of cases where there is test coverage it just can't be run
in this configuration).

>From the commit message/ChangeLog:

    Flag explicit dwarf2 tests as unsupported under Clang.

    Clang doesn't guarantee ordering of global and namespace scope inline
    asm relative to other entities, even at -O0. This ordering is required
    to define the range labels for the dwarf2 tests containing hardcoded
    assembly files.

    Introduce a detection utility function and use that in the handful of
    test cases that rely on this feature.

    gdb/testsuite
        * lib/gdb.exp (has_unreliable_inline_asm_ordering): Utility function
          for testing support for global or namespace scope inline asm ordering.
        * gdb.dwarf2/dw2-abs-hi-pc.exp: Unsupported under the above condition.
        * gdb.dwarf2/dw2-case-insensitive.exp: Ditto
        * gdb.dwarf2/dw2-cp-infcall-ref-static.exp: Ditto
        * gdb.dwarf2/dw2-entry-value.exp: Ditto
        * gdb.dwarf2/dw2-ifort-parameter.exp: Ditto
        * gdb.dwarf2/dw2-inline-param.exp: Ditto
        * gdb.dwarf2/dw2-noloc.exp: Ditto
        * gdb.dwarf2/dw2-param-error.exp: Ditto
        * gdb.dwarf2/dw2-ref-missing-frame.exp: Ditto
        * gdb.dwarf2/dw2-skip-prologue.exp: Ditto
        * gdb.dwarf2/dw2-unresolved.exp: Ditto
        * gdb.mi/dw2-ref-missing-frame.exp: Ditto

Attachment: unreliable_inline_asm_ordering.diff
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]