gcc/libstdc++-v3/testsuite
Rainer Orth a99ebb88f8 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  <ro@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.
2024-05-29 10:08:07 +02:00
..
17_intro libstdc++: Workaround kernel-headers on s390x-linux 2024-04-22 18:00:06 +02:00
18_support
19_diagnostics libstdc++: Build libbacktrace and 19_diagnostics/stacktrace with -funwind-tables [PR111641] 2024-05-29 10:08:07 +02:00
20_util libstdc++: Ensure std::variant relops convert to bool [PR115145] 2024-05-22 09:43:41 +01:00
21_strings libstdc++: Fix tests that fail with -fno-char8_t 2024-04-08 17:44:18 +01:00
22_locale libstdc++: Add [[nodiscard]] to some std::locale functions 2024-05-22 23:11:32 +01:00
23_containers libstdc++: Replace stacktrace effective target with feature test 2024-03-26 11:32:55 +00:00
24_iterators libstdc++-v3: drop GCC Runtime Library Exception from gen tests 2024-03-29 12:50:06 +01:00
25_algorithms
26_numerics
27_io libstdc++: Fix data race in std::basic_ios::fill() [PR77704] 2024-05-15 12:17:34 +01:00
28_regex
29_atomics libstdc++: Give std::memory_order a fixed underlying type [PR89624] 2024-05-15 10:18:14 +01:00
30_threads libstdc++: Implement std::formatter<std:🧵:id> without <sstream> [PR115099] 2024-05-22 09:43:41 +01:00
abi
backward
config
data
decimal
experimental libstdc++: Use __builtin_shufflevector for simd split and concat 2024-05-13 13:39:47 +02:00
ext libstdc++: Fix typo in _Grapheme_cluster_view::_Iterator [PR115119] 2024-05-17 13:46:48 +01:00
lib Remove obsolete Solaris 11.3 support 2024-05-07 10:45:55 +02:00
libstdc++-abi
libstdc++-dg
libstdc++-prettyprinters
libstdc++-xmethods
performance
special_functions
std libstdc++: Implement ranges::concat_view from P2542R7 2024-05-23 18:03:56 -04:00
tr1
tr2
util libstdc++: Update ABI test to disallow adding to released symbol versions 2024-05-07 13:46:11 +01:00
Makefile.am
Makefile.in