summaryrefslogtreecommitdiff
path: root/gcc48-rh1469697-23.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gcc48-rh1469697-23.patch')
-rw-r--r--gcc48-rh1469697-23.patch52
1 files changed, 52 insertions, 0 deletions
diff --git a/gcc48-rh1469697-23.patch b/gcc48-rh1469697-23.patch
new file mode 100644
index 0000000..3b69367
--- /dev/null
+++ b/gcc48-rh1469697-23.patch
@@ -0,0 +1,52 @@
+diff --git a/gcc/testsuite/gcc.target/i386/stack-check-17.c b/gcc/testsuite/gcc.target/i386/stack-check-17.c
+index d2ef83b..dcd2930 100644
+--- a/gcc/testsuite/gcc.target/i386/stack-check-17.c
++++ b/gcc/testsuite/gcc.target/i386/stack-check-17.c
+@@ -29,9 +29,11 @@ f3 (void)
+ into either a stack slot or callee saved register. The former
+ would be rather dumb. So assume it does not happen.
+
+- So search for two/four pushes for the callee register saves/argument
+- pushes and no pops (since the function has no reachable epilogue). */
+-/* { dg-final { scan-assembler-times "push\[ql\]" 2 { target { ! ia32 } } } } */
+-/* { dg-final { scan-assembler-times "push\[ql\]" 4 { target { ia32 } } } } */
++ So search for two pushes for the callee register saves pushes
++ and no pops (since the function has no reachable epilogue).
++
++ This is slightly different than upstream because the code we
++ generate for argument setup is slightly different. */
++/* { dg-final { scan-assembler-times "push\[ql\]" 2 } } */
+ /* { dg-final { scan-assembler-not "pop" } } */
+
+diff --git a/gcc/testsuite/gcc.target/i386/stack-check-18.c b/gcc/testsuite/gcc.target/i386/stack-check-18.c
+index 6dbff44..1638f77 100644
+--- a/gcc/testsuite/gcc.target/i386/stack-check-18.c
++++ b/gcc/testsuite/gcc.target/i386/stack-check-18.c
+@@ -1,6 +1,7 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -fstack-clash-protection -mtune=generic -fdump-rtl-expand" } */
+ /* { dg-require-effective-target supports_stack_clash_protection } */
++/* { dg-skip-if "" { *-*-* } { "-fstack-protector" } { "" } } */
+
+ int f1 (char *);
+
+diff --git a/gcc/testsuite/gcc.target/i386/stack-check-19.c b/gcc/testsuite/gcc.target/i386/stack-check-19.c
+index b92c126..c341801 100644
+--- a/gcc/testsuite/gcc.target/i386/stack-check-19.c
++++ b/gcc/testsuite/gcc.target/i386/stack-check-19.c
+@@ -1,6 +1,7 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -fstack-clash-protection -mtune=generic -fdump-rtl-expand" } */
+ /* { dg-require-effective-target supports_stack_clash_protection } */
++/* { dg-skip-if "" { *-*-* } { "-fstack-protector" } { "" } } */
+
+ int f1 (char *);
+
+@@ -24,6 +25,6 @@ f2 (const int size)
+ in the probe loop and one that bypasses the residual probe.
+
+ These will all be equality tests. */
+-/* { dg-final { scan-assembler-times "(\?:je|jne)" 3 } } */
++/* { dg-final { scan-assembler-times "(\?:jmp|je|jne)" 3 } } */
+
+