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 <hjl.to...@gmail.com>
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.

Reply via email to