https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104725
Bug ID: 104725
Summary: g++.target/i386/pr35513-1.C etc. FAIL
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: ro at gcc dot gnu.org
CC: hjl.tools at gmail dot com
Target Milestone: ---
Target: i?86-pc-solaris2.11, i686-pc-linux-gnu
Since 20220209, two tests FAIL on 32-bit Solaris/x86:
+FAIL: g++.target/i386/pr35513-1.C -std=gnu++14 execution test
+FAIL: g++.target/i386/pr35513-1.C -std=gnu++17 execution test
+FAIL: g++.target/i386/pr35513-1.C -std=gnu++20 execution test
+FAIL: g++.target/i386/pr35513-1.C -std=gnu++98 execution test
+FAIL: g++.target/i386/pr35513-2.C -std=gnu++14 execution test
+FAIL: g++.target/i386/pr35513-2.C -std=gnu++17 execution test
+FAIL: g++.target/i386/pr35513-2.C -std=gnu++20 execution test
+FAIL: g++.target/i386/pr35513-2.C -std=gnu++98 execution test
The tests SEGV like this:
Thread 2 received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1 (LWP 1)]
0x0805112d in _GLOBAL__sub_I__Z9throw_bugv ()
(gdb) bt
#0 0x0805112d in _GLOBAL__sub_I__Z9throw_bugv ()
#1 0xfe6b222e in call_array () from /usr/lib/ld.so.1
#2 0xfe6b23e3 in call_init () from /usr/lib/ld.so.1
#3 0xfe6b10af in setup () from /usr/lib/ld.so.1
#4 0xfe6c3fc0 in _setup () from /usr/lib/ld.so.1
#5 0xfe6a38ff in _rt_boot () from /usr/lib/ld.so.1
#6 0xfeffda18 in ?? ()
#7 0xfeffdbb8 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
This is obviously related to
commit 5c4258d7c78a92ab17c14dec1163d87fc42ff019
Author: H.J. Lu <[email protected]>
Date: Thu Feb 10 05:42:49 2022 -0800
x86: Update PR 35513 tests
1. Require linker with GNU_PROPERTY_1_NEEDED support for PR 35513
run-time tests.
[...]
PR testsuite/104481
* g++.target/i386/pr35513-1.C: Require property_1_needed target.
* g++.target/i386/pr35513-2.C: Likewise.
[...]
* lib/target-supports.exp (check_compile): Support assembly code.
(check_effective_target_property_1_needed): New proc.
I honestly don't see how check_effective_target_property_1_needed does test for
linker GNU_PROPERTY_1_NEEDED support, which Solaris ld certainly lacks, thus
the tests shouldn't run in the first place.