From b2a2781f59d7bcebe7689b51da4150590ecc063f Mon Sep 17 00:00:00 2001 From: Christian Wiese Date: Mon, 22 Apr 2013 17:35:44 +0200 Subject: [PATCH] gcc: Updated (4.7.2 -> 4.7.3) --- base/gcc/gcc-4.7-multilib-1.patch | 46 +++++++------ base/gcc/gcc.desc | 6 +- base/gcc/gcc47-pr33763.patch | 111 ------------------------------ 3 files changed, 28 insertions(+), 135 deletions(-) delete mode 100644 base/gcc/gcc47-pr33763.patch diff --git a/base/gcc/gcc-4.7-multilib-1.patch b/base/gcc/gcc-4.7-multilib-1.patch index 515340662..c05e3aeb6 100644 --- a/base/gcc/gcc-4.7-multilib-1.patch +++ b/base/gcc/gcc-4.7-multilib-1.patch @@ -1,8 +1,8 @@ # --- SDE-COPYRIGHT-NOTE-BEGIN --- # This copyright note is auto-generated by ./scripts/Create-CopyPatch. # -# Filename: package/.../gcc/gcc-4.6-multilib-1.patch -# Copyright (C) 2009 - 2012 The OpenSDE Project +# Filename: package/.../gcc/gcc-4.7-multilib-1.patch +# Copyright (C) 2009 - 2013 The OpenSDE Project # # More information can be found in the files COPYING and README. # @@ -46,13 +46,13 @@ diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64 index b5d3985..d530d97 100644 --- a/gcc/config/i386/t-linux64 +++ b/gcc/config/i386/t-linux64 -@@ -35,5 +35,5 @@ comma=, +@@ -35,5 +35,5 @@ MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG)) MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS))) - MULTILIB_OSDIRNAMES = m64=../lib64 --MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) -+MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib32) - MULTILIB_OSDIRNAMES+= mx32=../libx32 + MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu) +-MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu) ++MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib32)$(call if_multiarch,:i386-linux-gnu) + MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32) diff --git a/gcc/config/mips/linux64.h b/gcc/config/mips/linux64.h index 6e92719..4436d75 100644 --- a/gcc/config/mips/linux64.h @@ -75,12 +75,15 @@ diff --git a/gcc/config/mips/t-linux64 b/gcc/config/mips/t-linux64 index 5197e5e..b847f7d 100644 --- a/gcc/config/mips/t-linux64 +++ b/gcc/config/mips/t-linux64 -@@ -18,4 +18,4 @@ - - MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64 - MULTILIB_DIRNAMES = n32 32 64 --MULTILIB_OSDIRNAMES = ../lib32 ../lib ../lib64 -+MULTILIB_OSDIRNAMES = ../libn32 ../lib32 ../lib64 +@@ -21,6 +21,6 @@ + MIPS_EL = $(if $(filter %el, $(firstword $(subst -, ,$(target)))),el) + MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI, $(target_cpu_default)) $(filter soft, $(with_float))),soft) + MULTILIB_OSDIRNAMES = \ +- ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \ +- ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \ ++ ../libn32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \ ++ ../lib32$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \ + ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT)) diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h index 7c516eb..9fd4b58 100644 --- a/gcc/config/rs6000/linux64.h @@ -103,12 +106,13 @@ diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64 index 6420431..de44202 100644 --- a/gcc/config/rs6000/t-linux64 +++ b/gcc/config/rs6000/t-linux64 -@@ -31,5 +31,5 @@ MULTILIB_DIRNAMES = 64 32 nof - MULTILIB_EXTRA_OPTS = fPIC mstrict-align +@@ -32,6 +32,6 @@ MULTILIB_EXCEPTIONS = m64/msoft-float MULTILIB_EXCLUSIONS = m64/!m32/msoft-float --MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) nof -+MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib32) nof + MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:powerpc64-linux-gnu) +-MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu) ++MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib32)$(call if_multiarch,:powerpc-linux-gnu) + MULTILIB_OSDIRNAMES += nof MULTILIB_MATCHES = $(MULTILIB_MATCHES_FLOAT) diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h index 14966b9..0134911 100644 @@ -136,12 +140,12 @@ diff --git a/gcc/config/sparc/t-linux64 b/gcc/config/sparc/t-linux64 index d9dfad6..05230e8 100644 --- a/gcc/config/sparc/t-linux64 +++ b/gcc/config/sparc/t-linux64 -@@ -26,4 +26,4 @@ - +@@ -27,4 +27,4 @@ MULTILIB_OPTIONS = m64/m32 MULTILIB_DIRNAMES = 64 32 --MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) -+MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib32) + MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:sparc64-linux-gnu) +-MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:sparc-linux-gnu) ++MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib32)$(call if_multiarch,:sparc-linux-gnu) -- 1.7.2.3 diff --git a/base/gcc/gcc.desc b/base/gcc/gcc.desc index 197b209a5..07bafe2cb 100644 --- a/base/gcc/gcc.desc +++ b/base/gcc/gcc.desc @@ -2,7 +2,7 @@ [COPY] This copyright note is auto-generated by ./scripts/Create-CopyPatch. [COPY] [COPY] Filename: package/.../gcc/gcc.desc -[COPY] Copyright (C) 2006 - 2012 The OpenSDE Project +[COPY] Copyright (C) 2006 - 2013 The OpenSDE Project [COPY] Copyright (C) 2004 - 2006 The T2 SDE Project [COPY] Copyright (C) 1998 - 2003 Clifford Wolf [COPY] @@ -35,8 +35,8 @@ [L] GPL [S] Stable -[V] 4.7.2 +[V] 4.7.3 [P] X 012--5---9 102.300 -[D] 294635529 gcc-4.7.2.tar.bz2 ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.7.2/ +[D] 3652464962 gcc-4.7.3.tar.bz2 ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.7.3/ [D] 271646925 ecj-4.5.jar ftp://sourceware.org/pub/java/ diff --git a/base/gcc/gcc47-pr33763.patch b/base/gcc/gcc47-pr33763.patch deleted file mode 100644 index 419a9274b..000000000 --- a/base/gcc/gcc47-pr33763.patch +++ /dev/null @@ -1,111 +0,0 @@ -# --- SDE-COPYRIGHT-NOTE-BEGIN --- -# This copyright note is auto-generated by ./scripts/Create-CopyPatch. -# -# Filename: package/.../gcc/gcc47-pr33763.patch -# Copyright (C) 2012 The OpenSDE Project -# -# More information can be found in the files COPYING and README. -# -# This patch file is dual-licensed. It is available under the license the -# patched project is licensed under, as long as it is an OpenSource license -# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms -# of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. -# --- SDE-COPYRIGHT-NOTE-END --- - -From ceae6595da8f4f3c7cda06a654e251f0d1bc4976 Mon Sep 17 00:00:00 2001 -From: jakub -Date: Fri, 5 Oct 2012 11:58:46 +0000 -Subject: [PATCH] PR tree-optimization/33763 - * tree-inline.c (expand_call_inline): Silently ignore always_inline - attribute for redefined extern inline functions. - - * c-c++-common/pr33763.c: New test. - -diff --git a/gcc/testsuite/c-c++-common/pr33763.c b/gcc/testsuite/c-c++-common/pr33763.c -new file mode 100644 -index 0000000..dbdfa77 ---- /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); -+} -diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c -index 349e0b0..5854bd9 100644 ---- 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. */ --- -1.7.3.4 -