summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2019-11-19 17:58:12 +0300
committerIgor Pashev <pashev.igor@gmail.com>2019-11-19 17:58:12 +0300
commit0c6f948c2100559a304372a69b1da71c9f4f49ba (patch)
tree023c46cfd3810f3cd8fea3496ab3e6fd171b46e9
parent11890f1485f765e1e6fcef56ec32d5b0c0ebfb18 (diff)
downloadgcc-9-0c6f948c2100559a304372a69b1da71c9f4f49ba.tar.gz
Refresh Dyson patches
-rw-r--r--debian/patches/illumos-fclone-functions.diff46
-rw-r--r--debian/patches/illumos-pragma-align.diff16
-rw-r--r--debian/patches/illumos-spec.diff14
-rw-r--r--debian/patches/illumos-strict-calling-conventions.diff46
4 files changed, 61 insertions, 61 deletions
diff --git a/debian/patches/illumos-fclone-functions.diff b/debian/patches/illumos-fclone-functions.diff
index 11f1585..0c047ea 100644
--- a/debian/patches/illumos-fclone-functions.diff
+++ b/debian/patches/illumos-fclone-functions.diff
@@ -19,13 +19,13 @@ See http://wiki.illumos.org/display/illumos/GCC+Modifications
gcc/tree-inline.c | 3 ++-
3 files changed, 17 insertions(+), 2 deletions(-)
-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
-@@ -1029,6 +1029,11 @@ fchecking
- Common Var(flag_checking) Init(CHECKING_P)
- Perform internal consistency checkings.
+--- gcc-9.git.orig/src/gcc/common.opt
++++ gcc-9.git/src/gcc/common.opt
+@@ -1122,6 +1122,11 @@ fcode-hoisting
+ Common Report Var(flag_code_hoisting) Optimization
+ Enable code hoisting.
+fclone-functions
+Common Report Var(flag_clone_functions) Init(1)
@@ -35,20 +35,20 @@ Index: gcc-6.git/src/gcc/common.opt
fcombine-stack-adjustments
Common Report Var(flag_combine_stack_adjustments) Optimization
Looks for opportunities to reduce stack adjustments and stack references.
-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
-@@ -340,7 +340,7 @@ Objective-C and Objective-C++ Dialects}.
- -fbranch-target-load-optimize -fbranch-target-load-optimize2 @gol
- -fbtr-bb-exclusive -fcaller-saves @gol
- -fcombine-stack-adjustments -fconserve-stack @gol
---fcompare-elim -fcprop-registers -fcrossjumping @gol
-+-fcompare-elim -fclone-functions -fcprop-registers -fcrossjumping @gol
- -fcse-follow-jumps -fcse-skip-blocks -fcx-fortran-rules @gol
+--- gcc-9.git.orig/src/gcc/doc/invoke.texi
++++ gcc-9.git/src/gcc/doc/invoke.texi
+@@ -404,7 +404,7 @@ Objective-C and Objective-C++ Dialects}.
+ -fbranch-target-load-optimize -fbranch-target-load-optimize2 @gol
+ -fbtr-bb-exclusive -fcaller-saves @gol
+ -fcombine-stack-adjustments -fconserve-stack @gol
+--fcompare-elim -fcprop-registers -fcrossjumping @gol
++-fcompare-elim -fclone-functions -fcprop-registers -fcrossjumping @gol
+ -fcse-follow-jumps -fcse-skip-blocks -fcx-fortran-rules @gol
-fcx-limited-range @gol
- -fdata-sections -fdce -fdelayed-branch @gol
-@@ -8188,6 +8188,15 @@ to these tools. With non fat LTO makefil
+ -fdata-sections -fdce -fdelayed-branch @gol
+@@ -10421,6 +10421,15 @@ effect as usage of the command wrappers
The default is @option{-fno-fat-lto-objects} on targets with linker plugin
support.
@@ -64,11 +64,11 @@ Index: gcc-6.git/src/gcc/doc/invoke.texi
@item -fcompare-elim
@opindex fcompare-elim
After register allocation and post-register allocation instruction splitting,
-Index: gcc-6.git/src/gcc/tree-inline.c
+Index: gcc-9.git/src/gcc/tree-inline.c
===================================================================
---- gcc-6.git.orig/src/gcc/tree-inline.c
-+++ gcc-6.git/src/gcc/tree-inline.c
-@@ -5541,7 +5541,8 @@ bool
+--- gcc-9.git.orig/src/gcc/tree-inline.c
++++ gcc-9.git/src/gcc/tree-inline.c
+@@ -5806,7 +5806,8 @@ bool
tree_versionable_function_p (tree fndecl)
{
return (!lookup_attribute ("noclone", DECL_ATTRIBUTES (fndecl))
@@ -77,4 +77,4 @@ Index: gcc-6.git/src/gcc/tree-inline.c
+ && flag_clone_functions);
}
- /* Delete all unreachable basic blocks and update callgraph.
+ /* Update clone info after duplication. */
diff --git a/debian/patches/illumos-pragma-align.diff b/debian/patches/illumos-pragma-align.diff
index b8ca929..4c6fdaf 100644
--- a/debian/patches/illumos-pragma-align.diff
+++ b/debian/patches/illumos-pragma-align.diff
@@ -2,26 +2,26 @@ Description: Allow #pragma align to be used after a variable is declared
GCC mandates that #pragma align precede any declaration, Sun C does not.
See http://wiki.illumos.org/display/illumos/GCC+Modifications
-Index: gcc-5/src/gcc/config/sol2-c.c
+Index: gcc-9.git/src/gcc/config/sol2-c.c
===================================================================
---- gcc-5.orig/src/gcc/config/sol2-c.c
-+++ gcc-5/src/gcc/config/sol2-c.c
-@@ -125,8 +125,9 @@ solaris_pragma_align (cpp_reader *pfile
+--- gcc-9.git.orig/src/gcc/config/sol2-c.c
++++ gcc-9.git/src/gcc/config/sol2-c.c
+@@ -112,8 +112,9 @@ solaris_pragma_align (cpp_reader *pfile
{
tree decl = identifier_global_value (t);
if (decl && DECL_P (decl))
- warning (0, "%<#pragma align%> must appear before the declaration of "
-- "%D, ignoring", decl);
+- "%qD, ignoring", decl);
+ decl_attributes (&decl, build_tree_list (get_identifier ("aligned"),
+ build_tree_list (NULL, x)),
+ 0);
else
solaris_pending_aligns = tree_cons (t, build_tree_list (NULL, x),
solaris_pending_aligns);
-Index: gcc-5/src/gcc/testsuite/gcc.dg/pragma-align-2.c
+Index: gcc-9.git/src/gcc/testsuite/gcc.dg/pragma-align-2.c
===================================================================
---- gcc-5.orig/src/gcc/testsuite/gcc.dg/pragma-align-2.c
-+++ gcc-5/src/gcc/testsuite/gcc.dg/pragma-align-2.c
+--- gcc-9.git.orig/src/gcc/testsuite/gcc.dg/pragma-align-2.c
++++ gcc-9.git/src/gcc/testsuite/gcc.dg/pragma-align-2.c
@@ -26,9 +26,9 @@ void abort (void);
#pragma align bad_align /* { dg-warning "malformed" } */
#pragma align 1(bad_align /* { dg-warning "malformed" } */
diff --git a/debian/patches/illumos-spec.diff b/debian/patches/illumos-spec.diff
index 7986940..3efd50f 100644
--- a/debian/patches/illumos-spec.diff
+++ b/debian/patches/illumos-spec.diff
@@ -1,8 +1,8 @@
-Index: gcc-5/src/gcc/config/sol2.h
+Index: gcc-9.git/src/gcc/config/sol2.h
===================================================================
---- gcc-5.orig/src/gcc/config/sol2.h
-+++ gcc-5/src/gcc/config/sol2.h
-@@ -142,12 +142,12 @@ along with GCC; see the file COPYING3.
+--- gcc-9.git.orig/src/gcc/config/sol2.h
++++ gcc-9.git/src/gcc/config/sol2.h
+@@ -161,12 +161,12 @@ along with GCC; see the file COPYING3.
#undef LIB_SPEC
#define LIB_SPEC \
"%{!symbolic:\
@@ -17,8 +17,8 @@ Index: gcc-5/src/gcc/config/sol2.h
+#define MD_EXEC_PREFIX "/usr/bin/"
#endif
- #undef STARTFILE_ARCH_SPEC
-@@ -174,9 +174,7 @@ along with GCC; see the file COPYING3.
+ /* Enable constructor priorities if the configured linker supports it. */
+@@ -302,9 +302,7 @@ along with GCC; see the file COPYING3.
#define LINK_ARCH32_SPEC_BASE \
"%{G:-G} \
%{YP,*} \
@@ -29,7 +29,7 @@ Index: gcc-5/src/gcc/config/sol2.h
#undef LINK_ARCH32_SPEC
#define LINK_ARCH32_SPEC LINK_ARCH32_SPEC_BASE
-@@ -187,9 +185,7 @@ along with GCC; see the file COPYING3.
+@@ -315,9 +313,7 @@ along with GCC; see the file COPYING3.
#define LINK_ARCH64_SPEC_BASE \
"%{G:-G} \
%{YP,*} \
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" } */