Ping? https://gcc.gnu.org/pipermail/gcc-patches/2022-July/599011.html
Here's an incremental patch for some of these tests, that avoids some relatively rare spurious failures. diff --git a/gcc/testsuite/c-c++-common/torture/strub-run1.c b/gcc/testsuite/c-c++-common/torture/strub-run1.c index b24a1c7a345fa..7458b3fb54da5 100644 --- a/gcc/testsuite/c-c++-common/torture/strub-run1.c +++ b/gcc/testsuite/c-c++-common/torture/strub-run1.c @@ -80,11 +80,16 @@ internal () int main () { - if (!look_for_string (callable ())) - __builtin_abort (); - if (look_for_string (at_calls ())) - __builtin_abort (); - if (look_for_string (internal ())) - __builtin_abort (); + /* Since these test check stack contents above the top of the stack, an + unexpected asynchronous signal or interrupt might overwrite the bits we + expect to find and cause spurious fails. Tolerate one such overall + spurious fail by retrying. */ + int i = 1; + while (!look_for_string (callable ())) + if (!i--) __builtin_abort (); + while (look_for_string (at_calls ())) + if (!i--) __builtin_abort (); + while (look_for_string (internal ())) + if (!i--) __builtin_abort (); __builtin_exit (0); } diff --git a/gcc/testsuite/c-c++-common/torture/strub-run2.c b/gcc/testsuite/c-c++-common/torture/strub-run2.c index 1df2ffe2fe58c..5d60a7775f4bb 100644 --- a/gcc/testsuite/c-c++-common/torture/strub-run2.c +++ b/gcc/testsuite/c-c++-common/torture/strub-run2.c @@ -69,11 +69,16 @@ internal () int main () { - if (!look_for_string (callable ())) - __builtin_abort (); - if (look_for_string (at_calls ())) - __builtin_abort (); - if (look_for_string (internal ())) - __builtin_abort (); + /* Since these test check stack contents above the top of the stack, an + unexpected asynchronous signal or interrupt might overwrite the bits we + expect to find and cause spurious fails. Tolerate one such overall + spurious fail by retrying. */ + int i = 1; + while (!look_for_string (callable ())) + if (!i--) __builtin_abort (); + while (look_for_string (at_calls ())) + if (!i--) __builtin_abort (); + while (look_for_string (internal ())) + if (!i--) __builtin_abort (); __builtin_exit (0); } diff --git a/gcc/testsuite/c-c++-common/torture/strub-run3.c b/gcc/testsuite/c-c++-common/torture/strub-run3.c index afbc2cc9ab484..c2ad710858e87 100644 --- a/gcc/testsuite/c-c++-common/torture/strub-run3.c +++ b/gcc/testsuite/c-c++-common/torture/strub-run3.c @@ -65,11 +65,16 @@ internal () int main () { - if (!look_for_string (callable ())) - __builtin_abort (); - if (look_for_string (at_calls ())) - __builtin_abort (); - if (look_for_string (internal ())) - __builtin_abort (); + /* Since these test check stack contents above the top of the stack, an + unexpected asynchronous signal or interrupt might overwrite the bits we + expect to find and cause spurious fails. Tolerate one such overall + spurious fail by retrying. */ + int i = 1; + while (!look_for_string (callable ())) + if (!i--) __builtin_abort (); + while (look_for_string (at_calls ())) + if (!i--) __builtin_abort (); + while (look_for_string (internal ())) + if (!i--) __builtin_abort (); __builtin_exit (0); } diff --git a/gcc/testsuite/c-c++-common/torture/strub-run4.c b/gcc/testsuite/c-c++-common/torture/strub-run4.c index 5300f1d330b87..3b36b8e5d68ef 100644 --- a/gcc/testsuite/c-c++-common/torture/strub-run4.c +++ b/gcc/testsuite/c-c++-common/torture/strub-run4.c @@ -95,7 +95,12 @@ internal () int __attribute__ ((__strub__ ("disabled"))) main () { - if (look_for_string (internal ())) - __builtin_abort (); + /* Since these test check stack contents above the top of the stack, an + unexpected asynchronous signal or interrupt might overwrite the bits we + expect to find and cause spurious fails. Tolerate one such overall + spurious fail by retrying. */ + int i = 1; + while (look_for_string (internal ())) + if (!i--) __builtin_abort (); __builtin_exit (0); } -- Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/ Free Software Activist GNU Toolchain Engineer Disinformation flourishes because many people care deeply about injustice but very few check the facts. Ask me about <https://stallmansupport.org>