diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2015-09-20 19:22:48 +0300 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2015-09-20 22:33:45 +0300 |
commit | dc0e6f9a6cec2b0cebcb475f3863a88da15dd598 (patch) | |
tree | d46d99855fe8930b729618fbe22d18378af90d25 | |
parent | 3fcf803029a1368f83c0f2023d0190408253496b (diff) | |
download | gcc-5-dc0e6f9a6cec2b0cebcb475f3863a88da15dd598.tar.gz |
Updated Dyson patches
-rw-r--r-- | debian/patches/illumos-fclone-functions.diff | 34 | ||||
-rw-r--r-- | debian/patches/illumos-multiarch.diff | 6 | ||||
-rw-r--r-- | debian/patches/illumos-pragma-align.diff | 18 | ||||
-rw-r--r-- | debian/patches/illumos-rdynamic.diff | 29 | ||||
-rw-r--r-- | debian/patches/illumos-spec.diff | 29 | ||||
-rw-r--r-- | debian/patches/illumos-strict-calling-conventions.diff | 64 | ||||
-rw-r--r-- | debian/patches/illumos-use_libgcj_bc.diff | 8 | ||||
-rw-r--r-- | debian/rules.patch | 1 |
8 files changed, 73 insertions, 116 deletions
diff --git a/debian/patches/illumos-fclone-functions.diff b/debian/patches/illumos-fclone-functions.diff index a3d3c04..9a60ff1 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-48/src/gcc/common.opt +Index: gcc-5/src/gcc/common.opt =================================================================== ---- gcc-48.orig/src/gcc/common.opt 2013-03-14 13:13:36.000000000 +0400 -+++ gcc-48/src/gcc/common.opt 2013-11-07 13:09:27.760550425 +0400 -@@ -908,6 +908,11 @@ - Common Report Var(flag_check_data_deps) - Compare the results of several data dependence analyzers. +--- gcc-5.orig/src/gcc/common.opt ++++ gcc-5/src/gcc/common.opt +@@ -981,6 +981,11 @@ fcheck-new + Common Var(flag_check_new) + Check the return value of new in C++ +fclone-functions +Common Report Var(flag_clone_functions) Init(1) @@ -35,11 +35,11 @@ Index: gcc-48/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-48/src/gcc/doc/invoke.texi +Index: gcc-5/src/gcc/doc/invoke.texi =================================================================== ---- gcc-48.orig/src/gcc/doc/invoke.texi 2013-06-19 23:55:50.000000000 +0400 -+++ gcc-48/src/gcc/doc/invoke.texi 2013-11-07 13:10:28.439356714 +0400 -@@ -357,7 +357,7 @@ +--- gcc-5.orig/src/gcc/doc/invoke.texi ++++ gcc-5/src/gcc/doc/invoke.texi +@@ -383,7 +383,7 @@ Objective-C and Objective-C++ Dialects}. -fbranch-target-load-optimize -fbranch-target-load-optimize2 @gol -fbtr-bb-exclusive -fcaller-saves @gol -fcheck-data-deps -fcombine-stack-adjustments -fconserve-stack @gol @@ -48,9 +48,9 @@ Index: gcc-48/src/gcc/doc/invoke.texi -fcse-follow-jumps -fcse-skip-blocks -fcx-fortran-rules @gol -fcx-limited-range @gol -fdata-sections -fdce -fdelayed-branch @gol -@@ -8418,6 +8418,15 @@ - change in future releases when linker plugin enabled environments become more - common. +@@ -9516,6 +9516,15 @@ to these tools. With non fat LTO makefil + The default is @option{-fno-fat-lto-objects} on targets with linker plugin + support. +@item -fno-clone-functions +@opindex fno-clone-functions @@ -64,11 +64,11 @@ Index: gcc-48/src/gcc/doc/invoke.texi @item -fcompare-elim @opindex fcompare-elim After register allocation and post-register allocation instruction splitting, -Index: gcc-48/src/gcc/tree-inline.c +Index: gcc-5/src/gcc/tree-inline.c =================================================================== ---- gcc-48.orig/src/gcc/tree-inline.c 2013-03-08 15:29:06.000000000 +0400 -+++ gcc-48/src/gcc/tree-inline.c 2013-11-07 13:09:27.798801595 +0400 -@@ -4977,7 +4977,8 @@ +--- gcc-5.orig/src/gcc/tree-inline.c ++++ gcc-5/src/gcc/tree-inline.c +@@ -5457,7 +5457,8 @@ bool tree_versionable_function_p (tree fndecl) { return (!lookup_attribute ("noclone", DECL_ATTRIBUTES (fndecl)) diff --git a/debian/patches/illumos-multiarch.diff b/debian/patches/illumos-multiarch.diff index 00fa9fc..0456c25 100644 --- a/debian/patches/illumos-multiarch.diff +++ b/debian/patches/illumos-multiarch.diff @@ -1,7 +1,7 @@ -Index: gcc-47/src/gcc/config/i386/t-sol2-64 +Index: gcc-5/src/gcc/config/i386/t-sol2 =================================================================== ---- gcc-47.orig/src/gcc/config/i386/t-sol2-64 2012-06-10 18:07:40.302980669 +0000 -+++ gcc-47/src/gcc/config/i386/t-sol2-64 2012-06-10 18:12:10.873078450 +0000 +--- gcc-5.orig/src/gcc/config/i386/t-sol2 ++++ gcc-5/src/gcc/config/i386/t-sol2 @@ -16,6 +16,7 @@ # along with GCC; see the file COPYING3. If not see # <http://www.gnu.org/licenses/>. diff --git a/debian/patches/illumos-pragma-align.diff b/debian/patches/illumos-pragma-align.diff index 0c7873a..b8ca929 100644 --- a/debian/patches/illumos-pragma-align.diff +++ b/debian/patches/illumos-pragma-align.diff @@ -2,11 +2,11 @@ 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-48/src/gcc/config/sol2-c.c +Index: gcc-5/src/gcc/config/sol2-c.c =================================================================== ---- gcc-48.orig/src/gcc/config/sol2-c.c 2013-01-11 00:38:27.000000000 +0400 -+++ gcc-48/src/gcc/config/sol2-c.c 2013-11-07 13:15:05.497438976 +0400 -@@ -113,8 +113,9 @@ +--- 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 { tree decl = identifier_global_value (t); if (decl && DECL_P (decl)) @@ -18,11 +18,11 @@ Index: gcc-48/src/gcc/config/sol2-c.c else solaris_pending_aligns = tree_cons (t, build_tree_list (NULL, x), solaris_pending_aligns); -Index: gcc-48/src/gcc/testsuite/gcc.dg/pragma-align-2.c +Index: gcc-5/src/gcc/testsuite/gcc.dg/pragma-align-2.c =================================================================== ---- gcc-48.orig/src/gcc/testsuite/gcc.dg/pragma-align-2.c 2011-11-08 01:02:57.000000000 +0400 -+++ gcc-48/src/gcc/testsuite/gcc.dg/pragma-align-2.c 2013-11-07 13:15:05.499487945 +0400 -@@ -26,9 +26,9 @@ +--- gcc-5.orig/src/gcc/testsuite/gcc.dg/pragma-align-2.c ++++ gcc-5/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" } */ @@ -34,7 +34,7 @@ Index: gcc-48/src/gcc/testsuite/gcc.dg/pragma-align-2.c int main () -@@ -48,6 +48,9 @@ +@@ -48,6 +48,9 @@ main () if (__alignof__ (x16) < 16) abort (); diff --git a/debian/patches/illumos-rdynamic.diff b/debian/patches/illumos-rdynamic.diff deleted file mode 100644 index 2e3b83c..0000000 --- a/debian/patches/illumos-rdynamic.diff +++ /dev/null @@ -1,29 +0,0 @@ -Index: gcc-48/src/gcc/configure.ac -=================================================================== ---- gcc-48.orig/src/gcc/configure.ac 2014-04-18 19:40:11.321832341 +0400 -+++ gcc-48/src/gcc/configure.ac 2014-04-18 19:51:39.967711188 +0400 -@@ -5230,15 +5230,21 @@ - : # No need to use a flag - AC_MSG_RESULT([yes]) - else -- AC_MSG_RESULT([yes]) - AC_MSG_CHECKING([for -rdynamic]) - ${CC} ${CFLAGS} ${LDFLAGS} -rdynamic conftest.c -o conftest$ac_exeext > /dev/null 2>&1 - if $export_sym_check conftest$ac_exeext | grep -q foobar > /dev/null; then - plugin_rdynamic=yes - pluginlibs="-rdynamic" - else -- plugin_rdynamic=no -- enable_plugin=no -+ AC_MSG_CHECKING([for -Wl,-export-dynamic]) -+ ${CC} ${CFLAGS} ${LDFLAGS} -Wl,-export-dynamic conftest.c -o conftest > /dev/null 2>&1 -+ if $export_sym_check conftest | grep foobar > /dev/null; then -+ plugin_rdynamic=yes -+ pluginlibs="-Wl,-export-dynamic" -+ else -+ plugin_rdynamic=no -+ enable_plugin=no -+ fi - fi - AC_MSG_RESULT([$plugin_rdynamic]) - fi diff --git a/debian/patches/illumos-spec.diff b/debian/patches/illumos-spec.diff index 0a4c076..7986940 100644 --- a/debian/patches/illumos-spec.diff +++ b/debian/patches/illumos-spec.diff @@ -1,44 +1,35 @@ -Index: gcc-48/src/gcc/config/sol2.h +Index: gcc-5/src/gcc/config/sol2.h =================================================================== ---- gcc-48.orig/src/gcc/config/sol2.h 2013-01-11 00:38:27.000000000 +0400 -+++ gcc-48/src/gcc/config/sol2.h 2013-11-07 13:13:00.257045588 +0400 -@@ -114,16 +114,16 @@ +--- 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. #undef LIB_SPEC #define LIB_SPEC \ "%{!symbolic:\ - %{pthreads|pthread:-lpthread} \ -+ %{pthreads|pthread:} \ - %{pthreads|pthread|fprofile-generate*:" LIB_TLS_SPEC "} \ - %{p|pg:-ldl} -lc}" ++ %{pthreads|pthread:} \ + %{p|pg:} -lc}" #ifndef CROSS_DIRECTORY_STRUCTURE #undef MD_EXEC_PREFIX -#define MD_EXEC_PREFIX "/usr/ccs/bin/" +#define MD_EXEC_PREFIX "/usr/bin/" - - #undef MD_STARTFILE_PREFIX --#define MD_STARTFILE_PREFIX "/usr/ccs/lib/" -+#define MD_STARTFILE_PREFIX "/usr/lib/" #endif - #undef STARTFILE_ARCH32_SPEC -@@ -153,9 +153,7 @@ + #undef STARTFILE_ARCH_SPEC +@@ -174,9 +174,7 @@ along with GCC; see the file COPYING3. #define LINK_ARCH32_SPEC_BASE \ "%{G:-G} \ %{YP,*} \ - %{R*} \ -- %{!YP,*:%{p|pg:-Y P,%R/usr/ccs/lib/libp:%R/usr/lib/libp:%R/usr/ccs/lib:%R/lib:%R/usr/lib} \ -- %{!p:%{!pg:-Y P,%R/usr/ccs/lib:%R/lib:%R/usr/lib}}}" +- %{!YP,*:%{p|pg:-Y P,%R/usr/lib/libp%R/lib:%R/usr/lib} \ +- %{!p:%{!pg:-Y P,%R/lib:%R/usr/lib}}}" + %{R*}" #undef LINK_ARCH32_SPEC #define LINK_ARCH32_SPEC LINK_ARCH32_SPEC_BASE -Index: gcc-48/src/gcc/config/sol2-bi.h -=================================================================== ---- gcc-48.orig/src/gcc/config/sol2-bi.h 2013-01-11 00:38:27.000000000 +0400 -+++ gcc-48/src/gcc/config/sol2-bi.h 2013-11-07 13:13:00.258902250 +0400 -@@ -73,9 +73,7 @@ +@@ -187,9 +185,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 342f91f..8ddaa94 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-48/src/gcc/common.opt +Index: gcc-5/src/gcc/common.opt =================================================================== ---- gcc-48.orig/src/gcc/common.opt 2014-04-18 19:51:49.854293922 +0400 -+++ gcc-48/src/gcc/common.opt 2014-04-19 13:25:33.566648986 +0400 -@@ -1930,6 +1930,10 @@ +--- gcc-5.orig/src/gcc/common.opt ++++ gcc-5/src/gcc/common.opt +@@ -2136,6 +2136,10 @@ fstrict-aliasing Common Report Var(flag_strict_aliasing) Optimization Assume strict aliasing rules apply @@ -26,37 +26,33 @@ Index: gcc-48/src/gcc/common.opt +Use strict ABI calling conventions even for static functions + fstrict-overflow - Common Report Var(flag_strict_overflow) + Common Report Var(flag_strict_overflow) Optimization Treat signed overflow as undefined -Index: gcc-48/src/gcc/config/i386/i386.c +Index: gcc-5/src/gcc/config/i386/i386.c =================================================================== ---- gcc-48.orig/src/gcc/config/i386/i386.c 2014-04-18 19:39:46.504594693 +0400 -+++ gcc-48/src/gcc/config/i386/i386.c 2014-04-19 13:28:34.056953493 +0400 -@@ -5176,6 +5176,7 @@ +--- gcc-5.orig/src/gcc/config/i386/i386.c ++++ gcc-5/src/gcc/config/i386/i386.c +@@ -5829,6 +5829,7 @@ ix86_function_regparm (const_tree type, + /* Use register calling convention for local functions when possible. */ if (decl - && TREE_CODE (decl) == FUNCTION_DECL + && (TARGET_64BIT || !flag_strict_calling_conventions) - /* Caller and callee must agree on the calling convention, so - checking here just optimize means that with - __attribute__((optimize (...))) caller could use regparm convention -@@ -5258,8 +5259,9 @@ - - /* For local functions, pass up to SSE_REGPARM_MAX SFmode - (and DFmode for SSE2) arguments in SSE registers. */ -- if (decl && TARGET_SSE_MATH && optimize -- && !(profile_flag && !flag_fentry)) -+ if (decl && TARGET_SSE_MATH && optimize && -+ (TARGET_64BIT || !flag_strict_calling_conventions) && -+ !(profile_flag && !flag_fentry)) + && TREE_CODE (decl) == FUNCTION_DECL) + { + cgraph_node *target = cgraph_node::get (decl); +@@ -5932,6 +5933,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) ++ && (TARGET_64BIT || !flag_strict_calling_conventions) + && !(profile_flag && !flag_fentry)) { - /* FIXME: remove this CONST_CAST when cgraph.[ch] is constified. */ - struct cgraph_local_info *i = cgraph_local_info (CONST_CAST_TREE(decl)); -Index: gcc-48/src/gcc/doc/invoke.texi + cgraph_local_info *i = &target->local; +Index: gcc-5/src/gcc/doc/invoke.texi =================================================================== ---- gcc-48.orig/src/gcc/doc/invoke.texi 2014-04-18 19:51:49.889319972 +0400 -+++ gcc-48/src/gcc/doc/invoke.texi 2014-04-19 13:25:33.904408477 +0400 -@@ -8034,6 +8034,12 @@ +--- gcc-5.orig/src/gcc/doc/invoke.texi ++++ gcc-5/src/gcc/doc/invoke.texi +@@ -9082,6 +9082,12 @@ int f() @{ The @option{-fstrict-aliasing} option is enabled at levels @option{-O2}, @option{-O3}, @option{-Os}. @@ -69,10 +65,10 @@ Index: gcc-48/src/gcc/doc/invoke.texi @item -fstrict-overflow @opindex fstrict-overflow Allow the compiler to assume strict signed overflow rules, depending -Index: gcc-48/src/gcc/testsuite/gcc.target/i386/local.c +Index: gcc-5/src/gcc/testsuite/gcc.target/i386/local.c =================================================================== ---- gcc-48.orig/src/gcc/testsuite/gcc.target/i386/local.c 2012-02-27 23:18:23.000000000 +0400 -+++ gcc-48/src/gcc/testsuite/gcc.target/i386/local.c 2014-04-19 13:25:33.941693684 +0400 +--- gcc-5.orig/src/gcc/testsuite/gcc.target/i386/local.c ++++ gcc-5/src/gcc/testsuite/gcc.target/i386/local.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -funit-at-a-time" } */ @@ -81,10 +77,10 @@ Index: gcc-48/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-48/src/gcc/testsuite/gcc.target/i386/strict-cc.c +Index: gcc-5/src/gcc/testsuite/gcc.target/i386/strict-cc.c =================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ gcc-48/src/gcc/testsuite/gcc.target/i386/strict-cc.c 2014-04-19 13:25:33.944559397 +0400 +--- /dev/null ++++ gcc-5/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" } */ diff --git a/debian/patches/illumos-use_libgcj_bc.diff b/debian/patches/illumos-use_libgcj_bc.diff index 38fe1c7..a1878bd 100644 --- a/debian/patches/illumos-use_libgcj_bc.diff +++ b/debian/patches/illumos-use_libgcj_bc.diff @@ -1,8 +1,8 @@ -Index: gcc-48/src/libjava/configure.host +Index: gcc-5/src/libjava/configure.host =================================================================== ---- gcc-48.orig/src/libjava/configure.host 2012-03-14 20:33:37.000000000 +0400 -+++ gcc-48/src/libjava/configure.host 2013-11-07 13:12:28.303282197 +0400 -@@ -393,7 +393,7 @@ +--- gcc-5.orig/src/libjava/configure.host ++++ gcc-5/src/libjava/configure.host +@@ -413,7 +413,7 @@ case "${host}" in esac case "${host}" in diff --git a/debian/rules.patch b/debian/rules.patch index 4253442..ef37dbd 100644 --- a/debian/rules.patch +++ b/debian/rules.patch @@ -334,7 +334,6 @@ debian_patches += ada-bootstrap-compare ifeq ($(DEB_TARGET_ARCH_OS), illumos) debian_patches += illumos-multiarch - debian_patches += illumos-rdynamic debian_patches += illumos-spec debian_patches += illumos-use_libgcj_bc debian_patches += illumos-pragma-align |