summaryrefslogtreecommitdiff
path: root/source/d/gcc/gcc.69140.diff
diff options
context:
space:
mode:
Diffstat (limited to 'source/d/gcc/gcc.69140.diff')
-rw-r--r--source/d/gcc/gcc.69140.diff13
1 files changed, 13 insertions, 0 deletions
diff --git a/source/d/gcc/gcc.69140.diff b/source/d/gcc/gcc.69140.diff
new file mode 100644
index 00000000..ace60ebd
--- /dev/null
+++ b/source/d/gcc/gcc.69140.diff
@@ -0,0 +1,13 @@
+--- ./gcc/config/i386/i386.c.orig 2015-11-18 09:45:26.000000000 -0600
++++ ./gcc/config/i386/i386.c 2016-02-05 13:50:07.202981920 -0600
+@@ -9677,6 +9677,10 @@
+ if (TARGET_64BIT_MS_ABI && get_frame_size () > SEH_MAX_FRAME_SIZE)
+ return true;
+
++ /* SSE saves require frame-pointer when stack is misaligned. */
++ if (TARGET_64BIT_MS_ABI && ix86_incoming_stack_boundary < 128)
++ return true;
++
+ /* In ix86_option_override_internal, TARGET_OMIT_LEAF_FRAME_POINTER
+ turns off the frame pointer by default. Turn it back on now if
+ we've not got a leaf function. */