summaryrefslogtreecommitdiff
path: root/debian/patches/illumos-strict-calling-conventions.diff
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/illumos-strict-calling-conventions.diff')
-rw-r--r--debian/patches/illumos-strict-calling-conventions.diff46
1 files changed, 23 insertions, 23 deletions
diff --git a/debian/patches/illumos-strict-calling-conventions.diff b/debian/patches/illumos-strict-calling-conventions.diff
index 90e8fc3..ecb7a65 100644
--- a/debian/patches/illumos-strict-calling-conventions.diff
+++ b/debian/patches/illumos-strict-calling-conventions.diff
@@ -13,11 +13,11 @@ later which, given the odds, is likely to be necessary.
See http://wiki.illumos.org/display/illumos/GCC+Modifications
-Index: gcc-6.git/src/gcc/common.opt
+Index: gcc-9.git/src/gcc/common.opt
===================================================================
---- gcc-6.git.orig/src/gcc/common.opt
-+++ gcc-6.git/src/gcc/common.opt
-@@ -2236,6 +2236,10 @@ fstrict-aliasing
+--- gcc-9.git.orig/src/gcc/common.opt
++++ gcc-9.git/src/gcc/common.opt
+@@ -2499,6 +2499,10 @@ fstrict-aliasing
Common Report Var(flag_strict_aliasing) Optimization
Assume strict aliasing rules apply.
@@ -26,13 +26,13 @@ Index: gcc-6.git/src/gcc/common.opt
+Use strict ABI calling conventions even for static functions
+
fstrict-overflow
- Common Report Var(flag_strict_overflow) Optimization
- Treat signed overflow as undefined.
-Index: gcc-6.git/src/gcc/config/i386/i386.c
+ Common Report
+ Treat signed overflow as undefined. Negated as -fwrapv -fwrapv-pointer.
+Index: gcc-9.git/src/gcc/config/i386/i386.c
===================================================================
---- gcc-6.git.orig/src/gcc/config/i386/i386.c
-+++ gcc-6.git/src/gcc/config/i386/i386.c
-@@ -7076,6 +7076,7 @@ ix86_function_regparm (const_tree type,
+--- gcc-9.git.orig/src/gcc/config/i386/i386.c
++++ gcc-9.git/src/gcc/config/i386/i386.c
+@@ -6608,6 +6608,7 @@ ix86_function_regparm (const_tree type,
/* Use register calling convention for local functions when possible. */
if (decl
@@ -40,7 +40,7 @@ Index: gcc-6.git/src/gcc/config/i386/i386.c
&& TREE_CODE (decl) == FUNCTION_DECL)
{
cgraph_node *target = cgraph_node::get (decl);
-@@ -7179,6 +7180,7 @@ ix86_function_sseregparm (const_tree typ
+@@ -6717,6 +6718,7 @@ ix86_function_sseregparm (const_tree typ
/* TARGET_SSE_MATH */
&& (target_opts_for_fn (target->decl)->x_ix86_fpmath & FPMATH_SSE)
&& opt_for_fn (target->decl, optimize)
@@ -48,13 +48,13 @@ Index: gcc-6.git/src/gcc/config/i386/i386.c
&& !(profile_flag && !flag_fentry))
{
cgraph_local_info *i = &target->local;
-Index: gcc-6.git/src/gcc/doc/invoke.texi
+Index: gcc-9.git/src/gcc/doc/invoke.texi
===================================================================
---- gcc-6.git.orig/src/gcc/doc/invoke.texi
-+++ gcc-6.git/src/gcc/doc/invoke.texi
-@@ -7770,6 +7770,12 @@ int f() @{
- The @option{-fstrict-aliasing} option is enabled at levels
- @option{-O2}, @option{-O3}, @option{-Os}.
+--- gcc-9.git.orig/src/gcc/doc/invoke.texi
++++ gcc-9.git/src/gcc/doc/invoke.texi
+@@ -13756,6 +13756,12 @@ overflow on addition and subtraction wra
+ representation. This flag disables some optimizations which assume
+ pointer overflow is invalid.
+@item -fstrict-calling-conventions
+@opindex fstrict-calling-conventions
@@ -64,11 +64,11 @@ Index: gcc-6.git/src/gcc/doc/invoke.texi
+
@item -fstrict-overflow
@opindex fstrict-overflow
- Allow the compiler to assume strict signed overflow rules, depending
-Index: gcc-6.git/src/gcc/testsuite/gcc.target/i386/local.c
+ This option implies @option{-fno-wrapv} @option{-fno-wrapv-pointer} and when
+Index: gcc-9.git/src/gcc/testsuite/gcc.target/i386/local.c
===================================================================
---- gcc-6.git.orig/src/gcc/testsuite/gcc.target/i386/local.c
-+++ gcc-6.git/src/gcc/testsuite/gcc.target/i386/local.c
+--- gcc-9.git.orig/src/gcc/testsuite/gcc.target/i386/local.c
++++ gcc-9.git/src/gcc/testsuite/gcc.target/i386/local.c
@@ -1,5 +1,6 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -funit-at-a-time" } */
@@ -77,10 +77,10 @@ Index: gcc-6.git/src/gcc/testsuite/gcc.target/i386/local.c
/* { dg-final { scan-assembler "magic\[^\\n\]*eax" { target ia32 } } } */
/* { dg-final { scan-assembler "magic\[^\\n\]*(edi|ecx)" { target { ! ia32 } } } } */
-Index: gcc-6.git/src/gcc/testsuite/gcc.target/i386/strict-cc.c
+Index: gcc-9.git/src/gcc/testsuite/gcc.target/i386/strict-cc.c
===================================================================
--- /dev/null
-+++ gcc-6.git/src/gcc/testsuite/gcc.target/i386/strict-cc.c
++++ gcc-9.git/src/gcc/testsuite/gcc.target/i386/strict-cc.c
@@ -0,0 +1,22 @@
+/* { dg-do compile { target { ilp32 } } } */
+/* { dg-options "-O2 -funit-at-a-time -fstrict-calling-conventions" } */