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

--- Comment #16 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-14 branch has been updated by Rainer Orth <r...@gcc.gnu.org>:

https://gcc.gnu.org/g:d92b508dd19daffedfc0fb02e5bfa710f2c397b0

commit r14-10274-gd92b508dd19daffedfc0fb02e5bfa710f2c397b0
Author: Rainer Orth <r...@cebitec.uni-bielefeld.de>
Date:   Wed May 29 10:08:07 2024 +0200

    libstdc++: Build libbacktrace and 19_diagnostics/stacktrace with
-funwind-tables [PR111641]

    Several of the 19_diagnostics/stacktrace tests FAIL on Solaris/SPARC (32
    and 64-bit), Solaris/x86 (32-bit only), and several other targets:

    FAIL: 19_diagnostics/stacktrace/current.cc  -std=gnu++23 execution test
    FAIL: 19_diagnostics/stacktrace/current.cc  -std=gnu++26 execution test
    FAIL: 19_diagnostics/stacktrace/entry.cc  -std=gnu++23 execution test
    FAIL: 19_diagnostics/stacktrace/entry.cc  -std=gnu++26 execution test
    FAIL: 19_diagnostics/stacktrace/output.cc  -std=gnu++23 execution test
    FAIL: 19_diagnostics/stacktrace/output.cc  -std=gnu++26 execution test
    FAIL: 19_diagnostics/stacktrace/stacktrace.cc  -std=gnu++23 execution test
    FAIL: 19_diagnostics/stacktrace/stacktrace.cc  -std=gnu++26 execution test

    As it turns out, both the copy of libbacktrace in libstdc++ and the
    testcases proper need to compiled with -funwind-tables, as is done for
    libbacktrace itself.

    This isn't an issue on Linux/x86_64 and Solaris/amd64 since 64-bit x86
    always defaults to -funwind-tables.  32-bit x86 does, too, when
    -fomit-frame-pointer is enabled as on Linux/i686, but unlike
    Solaris/i386.

    So this patch always enables the option both for the libbacktrace copy
    and the testcases.

    Tested on i386-pc-solaris2.11, sparc-sun-solaris2.11, and
    x86_64-pc-linux-gnu.

    2024-05-23  Rainer Orth  <r...@cebitec.uni-bielefeld.de>

            libstdc++-v3:
            PR libstdc++/111641
            * src/libbacktrace/Makefile.am (AM_CFLAGS): Add -funwind-tables.
            * src/libbacktrace/Makefile.in: Regenerate.

            * testsuite/19_diagnostics/stacktrace/current.cc (dg-options): Add
            -funwind-tables.
            * testsuite/19_diagnostics/stacktrace/entry.cc: Likewise.
            * testsuite/19_diagnostics/stacktrace/hash.cc: Likewise.
            * testsuite/19_diagnostics/stacktrace/output.cc: Likewise.
            * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise.

    (cherry picked from commit a99ebb88f8f25e76ebed5afc22e64fa77a2f0d3f)

Reply via email to