aboutsummaryrefslogtreecommitdiff
path: root/4.7.3
diff options
context:
space:
mode:
authorRyan Hill <rhill@gentoo.org>2013-04-28 03:10:54 +0000
committerRyan Hill <rhill@gentoo.org>2013-04-28 03:10:54 +0000
commitbab5d10a500b9ffc0c8a4c0ab8285e3db659ec79 (patch)
treee4ce4b59283a8a2a6d6edf05861300835944f267 /4.7.3
parentPatch info file directly. (diff)
downloadgcc-patches-bab5d10a500b9ffc0c8a4c0ab8285e3db659ec79.tar.gz
gcc-patches-bab5d10a500b9ffc0c8a4c0ab8285e3db659ec79.tar.bz2
gcc-patches-bab5d10a500b9ffc0c8a4c0ab8285e3db659ec79.zip
Drop upstreamed patches.
Diffstat (limited to '4.7.3')
-rw-r--r--4.7.3/gentoo/82_all_alpha_4.6.4_pr56023_bootstrap.patch56
-rw-r--r--4.7.3/gentoo/93_all_pr33763_4.7.3_extern-inline.patch86
-rw-r--r--4.7.3/gentoo/94_all_pr53708_4.7.3_user-alignment.patch22
-rw-r--r--4.7.3/gentoo/95_all_pr55940_4.7.3_x86-stack-parameters.patch93
-rw-r--r--4.7.3/gentoo/96_all_pr56125_4.7.3_ffast-math-pow.patch111
-rw-r--r--4.7.3/gentoo/README.history5
6 files changed, 0 insertions, 373 deletions
diff --git a/4.7.3/gentoo/82_all_alpha_4.6.4_pr56023_bootstrap.patch b/4.7.3/gentoo/82_all_alpha_4.6.4_pr56023_bootstrap.patch
deleted file mode 100644
index c3fa75f..0000000
--- a/4.7.3/gentoo/82_all_alpha_4.6.4_pr56023_bootstrap.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-[4.6 Regression]: [alpha] -fcompare-debug failure due to sched1 pass
-
-http://gcc.gnu.org/PR56023
-https://bugs.gentoo.org/451680
-
-
-Author: uros
-Date: Mon Jan 21 18:02:57 2013
-New Revision: 195345
-
-URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=195345
-Log:
- PR rtl-optimization/56023
- * haifa-sched.c (fix_inter_tick): Do not update ticks of instructions,
- dependent on debug instruction.
-
-testsuite/ChangeLog:
-
- PR rtl-optimization/56023
- * gcc.dg/pr56023.c: New test.
-
-
---- a/gcc/haifa-sched.c
-+++ b/gcc/haifa-sched.c
-@@ -3684,6 +3684,9 @@ fix_inter_tick (rtx head, rtx tail)
- INSN_TICK (head) = tick;
- }
-
-+ if (DEBUG_INSN_P (head))
-+ continue;
-+
- FOR_EACH_DEP (head, SD_LIST_RES_FORW, sd_it, dep)
- {
- rtx next;
---- /dev/null
-+++ b/gcc/testsuite/gcc.dg/pr56023.c
-@@ -0,0 +1,19 @@
-+/* { dg-do compile } */
-+/* { dg-options "-O2 -fcompare-debug" } */
-+
-+void
-+foo (char *c)
-+{
-+ unsigned int x = 0;
-+ unsigned int i;
-+
-+ for (i = 0; c[i]; i++)
-+ {
-+ if (i >= 5 && x != 1)
-+ break;
-+ else if (c[i] == ' ')
-+ x = i;
-+ else if (c[i] == '/' && c[i + 1] != ' ' && i)
-+ x = i + 1;
-+ }
-+}
diff --git a/4.7.3/gentoo/93_all_pr33763_4.7.3_extern-inline.patch b/4.7.3/gentoo/93_all_pr33763_4.7.3_extern-inline.patch
deleted file mode 100644
index 7d5b838..0000000
--- a/4.7.3/gentoo/93_all_pr33763_4.7.3_extern-inline.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-Silently ignore always_inline attribute for redefined extern inline functions.
-
-https://bugs.gentoo.org/423945
-
-http://gcc.gnu.org/PR33763
-http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=192121
-
-
---- /dev/null
-+++ b/gcc/testsuite/c-c++-common/pr33763.c
-@@ -0,0 +1,60 @@
-+/* PR tree-optimization/33763 */
-+/* { dg-do compile } */
-+/* { dg-options "-O2" } */
-+
-+typedef struct
-+{
-+ void *a;
-+ void *b;
-+} T;
-+extern void *foo (const char *, const char *);
-+extern void *bar (void *, const char *, T);
-+extern int baz (const char *, int);
-+
-+extern inline __attribute__ ((always_inline, gnu_inline)) int
-+baz (const char *x, int y)
-+{
-+ return 2;
-+}
-+
-+int
-+baz (const char *x, int y)
-+{
-+ return 1;
-+}
-+
-+int xa, xb;
-+
-+static void *
-+inl (const char *x, const char *y)
-+{
-+ T t = { &xa, &xb };
-+ int *f = (int *) __builtin_malloc (sizeof (int));
-+ const char *z;
-+ int o = 0;
-+ void *r = 0;
-+
-+ for (z = y; *z; z++)
-+ {
-+ if (*z == 'r')
-+ o |= 1;
-+ if (*z == 'w')
-+ o |= 2;
-+ }
-+ if (o == 1)
-+ *f = baz (x, 0);
-+ if (o == 2)
-+ *f = baz (x, 1);
-+ if (o == 3)
-+ *f = baz (x, 2);
-+
-+ if (o && *f > 0)
-+ r = bar (f, "w", t);
-+ return r;
-+}
-+
-+void *
-+foo (const char *x, const char *y)
-+{
-+ return inl (x, y);
-+}
---- a/gcc/tree-inline.c
-+++ b/gcc/tree-inline.c
-@@ -3836,6 +3836,12 @@ expand_call_inline (basic_block bb, gimple stmt, copy_body_data *id)
- goto egress;
-
- if (lookup_attribute ("always_inline", DECL_ATTRIBUTES (fn))
-+ /* For extern inline functions that get redefined we always
-+ silently ignored always_inline flag. Better behaviour would
-+ be to be able to keep both bodies and use extern inline body
-+ for inlining, but we can't do that because frontends overwrite
-+ the body. */
-+ && !cg_edge->callee->local.redefined_extern_inline
- /* Avoid warnings during early inline pass. */
- && cgraph_global_info_ready
- /* PR 20090218-1_0.c. Body can be provided by another module. */
diff --git a/4.7.3/gentoo/94_all_pr53708_4.7.3_user-alignment.patch b/4.7.3/gentoo/94_all_pr53708_4.7.3_user-alignment.patch
deleted file mode 100644
index 681c59b..0000000
--- a/4.7.3/gentoo/94_all_pr53708_4.7.3_user-alignment.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Do not override explicit alignment on user-defined sections.
-
-http://gcc.gnu.org/PR53708
-http://gcc.gnu.org/viewcvs?view=revision&revision=193121
-
-
---- a/gcc/tree-vect-data-refs.c
-+++ b/gcc/tree-vect-data-refs.c
-@@ -4574,6 +4574,13 @@ vect_can_force_dr_alignment_p (const_tree decl, unsigned int alignment)
- if (TREE_ASM_WRITTEN (decl))
- return false;
-
-+ /* Do not override explicit alignment set by the user when an explicit
-+ section name is also used. This is a common idiom used by many
-+ software projects. */
-+ if (DECL_SECTION_NAME (decl) != NULL_TREE
-+ && !DECL_HAS_IMPLICIT_SECTION_NAME_P (decl))
-+ return false;
-+
- if (TREE_STATIC (decl))
- return (alignment <= MAX_OFILE_ALIGNMENT);
- else
diff --git a/4.7.3/gentoo/95_all_pr55940_4.7.3_x86-stack-parameters.patch b/4.7.3/gentoo/95_all_pr55940_4.7.3_x86-stack-parameters.patch
deleted file mode 100644
index 6117bc7..0000000
--- a/4.7.3/gentoo/95_all_pr55940_4.7.3_x86-stack-parameters.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-Incorrect code for accessing parameters with 32-bit Intel hosts
-http://gcc.gnu.org/PR55940
-
-
-commit eccae624ce764c52ff7ffbc3db95fc58c01ab5d4
-Author: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Fri Feb 1 14:09:38 2013 +0000
-
- Backported from mainline
- 2013-01-15 Jakub Jelinek <jakub@redhat.com>
-
- PR target/55940
- * function.c (thread_prologue_and_epilogue_insns): Always
- add crtl->drap_reg to set_up_by_prologue.set, even if
- stack_realign_drap is false.
-
- * gcc.dg/pr55940.c: New test.
-
-
- git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@195656 138bc75d-0d04-0410-961f-82ee72b054a4
----
- gcc/function.c | 2 +-
- gcc/testsuite/gcc.dg/pr55940.c | 54 ++++++++++++++++++++++++++++++++++++++++++
- 4 files changed, 67 insertions(+), 1 deletion(-)
-
---- a/gcc/function.c
-+++ b/gcc/function.c
-@@ -5961,7 +5961,7 @@ thread_prologue_and_epilogue_insns (void)
- if (pic_offset_table_rtx)
- add_to_hard_reg_set (&set_up_by_prologue.set, Pmode,
- PIC_OFFSET_TABLE_REGNUM);
-- if (stack_realign_drap && crtl->drap_reg)
-+ if (crtl->drap_reg)
- add_to_hard_reg_set (&set_up_by_prologue.set,
- GET_MODE (crtl->drap_reg),
- REGNO (crtl->drap_reg));
---- /dev/null
-+++ b/gcc/testsuite/gcc.dg/pr55940.c
-@@ -0,0 +1,54 @@
-+/* PR target/55940 */
-+/* { dg-do run } */
-+/* { dg-options "-Os" } */
-+/* { dg-additional-options "-mpreferred-stack-boundary=2" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */
-+
-+struct S { int s; unsigned long t; };
-+
-+__attribute__ ((noinline, noclone)) unsigned long long
-+bar (struct S *x, unsigned long y)
-+{
-+ asm volatile ("" : : "r" (x), "r" (y) : "memory");
-+ return x->s + y;
-+}
-+
-+__attribute__ ((noinline, noclone)) unsigned long long
-+foo (struct S *x, unsigned long y)
-+{
-+ unsigned long a;
-+ if (__builtin_expect (((__UINTPTR_TYPE__) (x) + 0x1000U < 0x2000U), 0))
-+ return ~0ULL;
-+ if (__builtin_expect (x->s <= 0 || x->s > 9, 0))
-+ return ~0ULL;
-+ a = x->t >> 12;
-+ if (y == a)
-+ return ~0ULL;
-+ if (x->s == 3)
-+ return x->t + y * 4096;
-+ return bar (x, y);
-+}
-+
-+int va, vb, vc, vd;
-+
-+int
-+main ()
-+{
-+ struct S s;
-+ asm volatile ("" : : : "memory");
-+ int a = va, b = vb, c = vc, d = vd;
-+ asm volatile ("" : : : "memory");
-+ int i;
-+ for (i = 0; i < 64; i++)
-+ if (foo ((struct S *) 0, 0) != ~0ULL)
-+ __builtin_abort ();
-+ s.s = 3;
-+ s.t = 2 << 12;
-+ if (foo (&s, 2) != ~0ULL)
-+ __builtin_abort ();
-+ if (foo (&s, 3) != (2 << 12) + 3 * 4096)
-+ __builtin_abort ();
-+ asm volatile ("" : : : "memory");
-+ va = a; vb = b; vc = c; vd = d;
-+ asm volatile ("" : : : "memory");
-+ return 0;
-+}
diff --git a/4.7.3/gentoo/96_all_pr56125_4.7.3_ffast-math-pow.patch b/4.7.3/gentoo/96_all_pr56125_4.7.3_ffast-math-pow.patch
deleted file mode 100644
index e86b06d..0000000
--- a/4.7.3/gentoo/96_all_pr56125_4.7.3_ffast-math-pow.patch
+++ /dev/null
@@ -1,111 +0,0 @@
--O2 -ffast-math generates bad code when dividing a double by the square of another double.
-
-http://gcc.gnu.org/PR56125
-
-
-commit a42ec1527275f12e8584e1640bc6b16a9d2ca858
-Author: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Fri Feb 1 14:17:50 2013 +0000
-
- Backported from mainline
- 2013-01-28 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/56125
- * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Don't optimize
- pow(x,c) into sqrt(x) * powi(x, n/2) or
- 1.0 / (sqrt(x) * powi(x, abs(n/2))) if c is an integer or when
- optimizing for size.
- Don't optimize pow(x,c) into powi(x, n/3) * powi(cbrt(x), n%3) or
- 1.0 / (powi(x, abs(n)/3) * powi(cbrt(x), abs(n)%3)) if 2c is an
- integer.
-
- * gcc.dg/pr56125.c: New test.
-
-
- git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@195664 138bc75d-0d04-0410-961f-82ee72b054a4
----
- gcc/ChangeLog | 11 +++++++++++
- gcc/testsuite/ChangeLog | 5 +++++
- gcc/testsuite/gcc.dg/pr56125.c | 21 +++++++++++++++++++++
- gcc/tree-ssa-math-opts.c | 14 ++++++++++----
- 4 files changed, 47 insertions(+), 4 deletions(-)
-
---- /dev/null
-+++ b/gcc/testsuite/gcc.dg/pr56125.c
-@@ -0,0 +1,21 @@
-+/* PR tree-optimization/56125 */
-+/* { dg-do run } */
-+/* { dg-options "-O2 -ffast-math" } */
-+
-+extern void abort (void);
-+extern double fabs (double);
-+
-+__attribute__((cold)) double
-+foo (double x, double n)
-+{
-+ double u = x / (n * n);
-+ return u;
-+}
-+
-+int
-+main ()
-+{
-+ if (fabs (foo (29, 2) - 7.25) > 0.001)
-+ abort ();
-+ return 0;
-+}
---- a/gcc/tree-ssa-math-opts.c
-+++ b/gcc/tree-ssa-math-opts.c
-@@ -1113,7 +1113,7 @@ gimple_expand_builtin_pow (gimple_stmt_iterator *gsi, location_t loc,
- tree type, sqrtfn, cbrtfn, sqrt_arg0, sqrt_sqrt, result, cbrt_x, powi_cbrt_x;
- tree target = NULL_TREE;
- enum machine_mode mode;
-- bool hw_sqrt_exists;
-+ bool hw_sqrt_exists, c_is_int, c2_is_int;
-
- /* If the exponent isn't a constant, there's nothing of interest
- to be done. */
-@@ -1125,8 +1125,9 @@ gimple_expand_builtin_pow (gimple_stmt_iterator *gsi, location_t loc,
- c = TREE_REAL_CST (arg1);
- n = real_to_integer (&c);
- real_from_integer (&cint, VOIDmode, n, n < 0 ? -1 : 0, 0);
-+ c_is_int = real_identical (&c, &cint);
-
-- if (real_identical (&c, &cint)
-+ if (c_is_int
- && ((n >= -1 && n <= 2)
- || (flag_unsafe_math_optimizations
- && optimize_insn_for_speed_p ()
-@@ -1224,7 +1225,8 @@ gimple_expand_builtin_pow (gimple_stmt_iterator *gsi, location_t loc,
- return build_and_insert_call (gsi, loc, &target, cbrtfn, sqrt_arg0);
- }
-
-- /* Optimize pow(x,c), where n = 2c for some nonzero integer n, into
-+ /* Optimize pow(x,c), where n = 2c for some nonzero integer n
-+ and c not an integer, into
-
- sqrt(x) * powi(x, n/2), n > 0;
- 1.0 / (sqrt(x) * powi(x, abs(n/2))), n < 0.
-@@ -1233,10 +1235,13 @@ gimple_expand_builtin_pow (gimple_stmt_iterator *gsi, location_t loc,
- real_arithmetic (&c2, MULT_EXPR, &c, &dconst2);
- n = real_to_integer (&c2);
- real_from_integer (&cint, VOIDmode, n, n < 0 ? -1 : 0, 0);
-+ c2_is_int = real_identical (&c2, &cint);
-
- if (flag_unsafe_math_optimizations
- && sqrtfn
-- && real_identical (&c2, &cint))
-+ && c2_is_int
-+ && !c_is_int
-+ && optimize_function_for_speed_p (cfun))
- {
- tree powi_x_ndiv2 = NULL_TREE;
-
-@@ -1289,6 +1294,7 @@ gimple_expand_builtin_pow (gimple_stmt_iterator *gsi, location_t loc,
- && cbrtfn
- && (gimple_val_nonnegative_real_p (arg0) || !HONOR_NANS (mode))
- && real_identical (&c2, &c)
-+ && !c2_is_int
- && optimize_function_for_speed_p (cfun)
- && powi_cost (n / 3) <= POWI_MAX_MULTS)
- {
diff --git a/4.7.3/gentoo/README.history b/4.7.3/gentoo/README.history
index 0a33a5e..803584e 100644
--- a/4.7.3/gentoo/README.history
+++ b/4.7.3/gentoo/README.history
@@ -22,10 +22,5 @@
+ 52_all_netbsd-Bsymbolic.patch
+ 67_all_gcc-poison-system-directories.patch
+ 74_all_gcc47_cloog-dl.patch
- + 82_all_alpha_4.6.4_pr56023_bootstrap.patch
+ 90_all_gcc-4.7-x32.patch
+ 92_all_freebsd-pie.patch
- + 93_all_pr33763_4.7.3_extern-inline.patch
- + 94_all_pr53708_4.7.3_user-alignment.patch
- + 95_all_pr55940_4.7.3_x86-stack-parameters.patch
- + 96_all_pr56125_4.7.3_ffast-math-pow.patch