summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2015-09-20 19:22:48 +0300
committerIgor Pashev <pashev.igor@gmail.com>2015-09-20 22:33:45 +0300
commitdc0e6f9a6cec2b0cebcb475f3863a88da15dd598 (patch)
treed46d99855fe8930b729618fbe22d18378af90d25
parent3fcf803029a1368f83c0f2023d0190408253496b (diff)
downloadgcc-5-dc0e6f9a6cec2b0cebcb475f3863a88da15dd598.tar.gz
Updated Dyson patches
-rw-r--r--debian/patches/illumos-fclone-functions.diff34
-rw-r--r--debian/patches/illumos-multiarch.diff6
-rw-r--r--debian/patches/illumos-pragma-align.diff18
-rw-r--r--debian/patches/illumos-rdynamic.diff29
-rw-r--r--debian/patches/illumos-spec.diff29
-rw-r--r--debian/patches/illumos-strict-calling-conventions.diff64
-rw-r--r--debian/patches/illumos-use_libgcj_bc.diff8
-rw-r--r--debian/rules.patch1
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