Several test failures due to "Introduce strub: machine-independent stack scrubbing"

FX Coudert fxcoudert@gmail.com
Thu Dec 7 10:12:40 GMT 2023


Hi Alexandre,

The commit https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=f0a90c7d7333fc7f554b906245c84bdf04d716d7 (Introduce strub: machine-independent stack scrubbing) has introduced many test failures on x86_64-apple-darwin21:

+FAIL: c-c++-common/strub-apply2.c  -std=gnu++98 (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/strub-apply2.c  -std=gnu++98 (test for excess errors)
+FAIL: c-c++-common/strub-apply2.c  -std=gnu++14 (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/strub-apply2.c  -std=gnu++14 (test for excess errors)
+FAIL: c-c++-common/strub-apply2.c  -std=gnu++17 (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/strub-apply2.c  -std=gnu++17 (test for excess errors)
+FAIL: c-c++-common/strub-apply2.c  -std=gnu++20 (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/strub-apply2.c  -std=gnu++20 (test for excess errors)
+FAIL: c-c++-common/strub-apply3.c  -std=gnu++98 (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/strub-apply3.c  -std=gnu++98 (test for excess errors)
+FAIL: c-c++-common/strub-apply3.c  -std=gnu++14 (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/strub-apply3.c  -std=gnu++14 (test for excess errors)
+FAIL: c-c++-common/strub-apply3.c  -std=gnu++17 (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/strub-apply3.c  -std=gnu++17 (test for excess errors)
+FAIL: c-c++-common/strub-apply3.c  -std=gnu++20 (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/strub-apply3.c  -std=gnu++20 (test for excess errors)
+FAIL: c-c++-common/strub-strict1.c  -std=gnu++98 (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/strub-strict1.c  -std=gnu++98 (test for excess errors)
+FAIL: c-c++-common/strub-strict1.c  -std=gnu++14 (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/strub-strict1.c  -std=gnu++14 (test for excess errors)
+FAIL: c-c++-common/strub-strict1.c  -std=gnu++17 (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/strub-strict1.c  -std=gnu++17 (test for excess errors)
+FAIL: c-c++-common/strub-strict1.c  -std=gnu++20 (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/strub-strict1.c  -std=gnu++20 (test for excess errors)
+FAIL: c-c++-common/strub-strict2.c  -std=gnu++98 (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/strub-strict2.c  -std=gnu++98 (test for excess errors)
+FAIL: c-c++-common/strub-strict2.c  -std=gnu++14 (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/strub-strict2.c  -std=gnu++14 (test for excess errors)
+FAIL: c-c++-common/strub-strict2.c  -std=gnu++17 (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/strub-strict2.c  -std=gnu++17 (test for excess errors)
+FAIL: c-c++-common/strub-strict2.c  -std=gnu++20 (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/strub-strict2.c  -std=gnu++20 (test for excess errors)
+FAIL: c-c++-common/torture/strub-callable2.c   -O0  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-callable2.c   -O0  (test for excess errors)
+FAIL: c-c++-common/torture/strub-callable2.c   -O1  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-callable2.c   -O1  (test for excess errors)
+FAIL: c-c++-common/torture/strub-callable2.c   -O2  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-callable2.c   -O2  (test for excess errors)
+FAIL: c-c++-common/torture/strub-callable2.c   -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-callable2.c   -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions  (test for excess errors)
+FAIL: c-c++-common/torture/strub-callable2.c   -O3 -g  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-callable2.c   -O3 -g  (test for excess errors)
+FAIL: c-c++-common/torture/strub-callable2.c   -Os  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-callable2.c   -Os  (test for excess errors)
+FAIL: c-c++-common/torture/strub-callable2.c   -O2 -flto -flto-partition=none  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-callable2.c   -O2 -flto -flto-partition=none  (test for excess errors)
+FAIL: c-c++-common/torture/strub-callable2.c   -O2 -flto  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-callable2.c   -O2 -flto  (test for excess errors)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O0  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O0  (test for excess errors)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O1  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O1  (test for excess errors)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O2  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O2  (test for excess errors)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O3 -g  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O3 -g  (test for excess errors)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -Os  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -Os  (test for excess errors)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O2 -flto -flto-partition=none  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O2 -flto -flto-partition=none  (test for excess errors)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O2 -flto  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O2 -flto  (test for excess errors)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O0  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O0  (test for excess errors)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O1  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O1  (test for excess errors)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O2  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O2  (test for excess errors)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O3 -g  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O3 -g  (test for excess errors)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -Os  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -Os  (test for excess errors)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O2 -flto -flto-partition=none  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O2 -flto -flto-partition=none  (test for excess errors)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O2 -flto  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O2 -flto  (test for excess errors)
+FAIL: c-c++-common/strub-apply2.c  -Wc++-compat  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/strub-apply2.c  -Wc++-compat  (test for excess errors)
+FAIL: c-c++-common/strub-apply3.c  -Wc++-compat  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/strub-apply3.c  -Wc++-compat  (test for excess errors)
+FAIL: c-c++-common/strub-strict1.c  -Wc++-compat  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/strub-strict1.c  -Wc++-compat  (test for excess errors)
+FAIL: c-c++-common/strub-strict2.c  -Wc++-compat  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/strub-strict2.c  -Wc++-compat  (test for excess errors)
+FAIL: c-c++-common/torture/strub-callable2.c   -O0  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-callable2.c   -O0  (test for excess errors)
+FAIL: c-c++-common/torture/strub-callable2.c   -O1  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-callable2.c   -O1  (test for excess errors)
+FAIL: c-c++-common/torture/strub-callable2.c   -O2  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-callable2.c   -O2  (test for excess errors)
+FAIL: c-c++-common/torture/strub-callable2.c   -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-callable2.c   -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions  (test for excess errors)
+FAIL: c-c++-common/torture/strub-callable2.c   -O3 -g  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-callable2.c   -O3 -g  (test for excess errors)
+FAIL: c-c++-common/torture/strub-callable2.c   -Os  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-callable2.c   -Os  (test for excess errors)
+FAIL: c-c++-common/torture/strub-callable2.c   -O2 -flto -flto-partition=none  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-callable2.c   -O2 -flto -flto-partition=none  (test for excess errors)
+FAIL: c-c++-common/torture/strub-callable2.c   -O2 -flto  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-callable2.c   -O2 -flto  (test for excess errors)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O0  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O0  (test for excess errors)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O1  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O1  (test for excess errors)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O2  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O2  (test for excess errors)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O3 -g  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O3 -g  (test for excess errors)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -Os  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -Os  (test for excess errors)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O2 -flto -flto-partition=none  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O2 -flto -flto-partition=none  (test for excess errors)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O2 -flto  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-inlinable1.c   -O2 -flto  (test for excess errors)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O0  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O0  (test for excess errors)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O1  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O1  (test for excess errors)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O2  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O2  (test for excess errors)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O3 -g  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O3 -g  (test for excess errors)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -Os  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -Os  (test for excess errors)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O2 -flto -flto-partition=none  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O2 -flto -flto-partition=none  (test for excess errors)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O2 -flto  (internal compiler error: in verify_curr_properties, at passes.cc:2198)
+FAIL: c-c++-common/torture/strub-ptrfn3.c   -O2 -flto  (test for excess errors)


The output for one typical case is:

$ /Users/fx/ibin-20231206/gcc/xgcc -B/Users/fx/ibin-20231206/gcc/  /Users/fx/gcc-upstream/gcc/testsuite/c-c++-common/strub-apply2.c    -fdiagnostics-plain-output   -Wc++-compat  -fstrub=strict -S -o strub-apply2.s
/Users/fx/gcc-upstream/gcc/testsuite/c-c++-common/strub-apply2.c:8:1: error: 'strub' mode 'disabled' selected for 'apply_args', when 'at-calls' was requested
/Users/fx/gcc-upstream/gcc/testsuite/c-c++-common/strub-apply2.c:10:16: sorry, unimplemented: at-calls 'strub' does not support call to '__builtin_apply_args'
during IPA pass: emutls
/Users/fx/gcc-upstream/gcc/testsuite/c-c++-common/strub-apply2.c:12:1: internal compiler error: in verify_curr_properties, at passes.cc:2198


Cheers,
FX


More information about the Gcc-patches mailing list