This test expects a single mention of stack_chk_fail, as part of a
call sequence, but when e.g. PIE is enabled by default, we output
.hidden stack_chk_fail_local, which makes for a count mismatch.
Disable PIC/PIE so as to not depend on the configurable default.
Regstrapped on x86_64-linux-gnu, also tested with gcc-13 on i686- and
x86_64-. Ok to install?
for gcc/testsuite/ChangeLog
* g++.dg/pr58245-1.C: Disable PIC/PIE.
---
gcc/testsuite/g++.dg/pr58245-1.C | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/gcc/testsuite/g++.dg/pr58245-1.C b/gcc/testsuite/g++.dg/pr58245-1.C
index 1439bc62e710e..71d4736ddf610 100644
--- a/gcc/testsuite/g++.dg/pr58245-1.C
+++ b/gcc/testsuite/g++.dg/pr58245-1.C
@@ -8,3 +8,7 @@ bar (void)
}
/* { dg-final { scan-assembler-times "stack_chk_fail" 1 } } */
+
+/* When compiling for PI[EC], we issue a .hidden stack_chk_fail_local,
+ that causes the above to fail the expected match count. */
+/* { dg-additional-options "-fno-PIC" } */
--
Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/
Free Software Activist GNU Toolchain Engineer
More tolerance and less prejudice are key for inclusion and diversity
Excluding neuro-others for not behaving ""normal"" is *not* inclusive