upgrade Linaro GCC to 4.5-2011.05-0 - thanks to Mark Mentovai
authorMirko Vogt <mirko@openwrt.org>
Tue, 7 Jun 2011 00:13:56 +0000 (00:13 +0000)
committerMirko Vogt <mirko@openwrt.org>
Tue, 7 Jun 2011 00:13:56 +0000 (00:13 +0000)
SVN-Revision: 27118

toolchain/gcc/Config.in
toolchain/gcc/common.mk
toolchain/gcc/patches/linaro/600-ubicom_support.patch
toolchain/gcc/patches/linaro/840-armv4_pass_fix-v4bx_to_ld.patch
toolchain/gcc/patches/linaro/850-use_shared_libgcc.patch
toolchain/gcc/patches/linaro/860-fix_extension_elimination.patch
toolchain/gcc/patches/linaro/910-mbsd_multi.patch
toolchain/gcc/patches/linaro/993-arm_insn-opinit-RTX_CODE-fixup.patch
toolchain/gcc/patches/linaro/995-fa526.patch
toolchain/gcc/patches/linaro/999-coldfire.patch

index 204219e7ea889108fbec26aa9766944faeed0046..c2d17cbaf83c8d171d722170c1db6fa9467f4f81 100644 (file)
@@ -19,7 +19,7 @@ choice
                bool "gcc 4.5.2"
 
        config GCC_VERSION_LINARO
-               bool "gcc 4.5.2 with Linaro enhancements"
+               bool "gcc 4.5.x with Linaro enhancements"
 
        config GCC_VERSION_LLVM
                bool "llvm-gcc 4.2"
index 888cf7a1e5a8e846cc3dd95c2e421d42cb4d6637..e047ace653909628384b42375c5626d80fd9a65e 100644 (file)
@@ -37,11 +37,11 @@ ifdef CONFIG_GCC_VERSION_LLVM
   HOST_BUILD_DIR:=$(BUILD_DIR_TOOLCHAIN)/$(GCC_DIR)
 else
 ifeq ($(CONFIG_GCC_VERSION),"linaro")
-    PKG_REV:=4.5-2011.02-0
-    PKG_VERSION:=4.5.2
-    PKG_SOURCE_URL:=http://launchpad.net/gcc-linaro/4.5/4.5-2011.02-0/+download/
+    PKG_REV:=4.5-2011.05-0
+    PKG_VERSION:=4.5.4
+    PKG_SOURCE_URL:=http://launchpad.net/gcc-linaro/4.5/$(PKG_REV)/+download/
     PKG_SOURCE:=$(PKG_NAME)-linaro-$(PKG_REV).tar.bz2
-    PKG_MD5SUM:=d93199c1296e053f57fcc7888b54d488
+    PKG_MD5SUM:=7ec3e08bc39fe24f3c14006c003f5669
     GCC_DIR:=gcc-linaro-$(PKG_REV)
     HOST_BUILD_DIR:=$(BUILD_DIR_TOOLCHAIN)/$(GCC_DIR)
 else
index a47d748cf91fc6f9a413e8ae25250459d6328bf5..e2dd8c497576b8c0903c6633d34a98cc2e43a38c 100644 (file)
 +#define FATAL_EXIT_CODE 33
 --- a/gcc/config.gcc
 +++ b/gcc/config.gcc
-@@ -2497,6 +2497,34 @@ spu-*-elf*)
+@@ -2525,6 +2525,34 @@ spu-*-elf*)
        c_target_objs="${c_target_objs} spu-c.o"
        cxx_target_objs="${cxx_target_objs} spu-c.o"
        ;;
        tm_file="dbxelf.h elfos.h svr4.h newlib-stdint.h v850/v850.h"
 --- a/libgcc/config.host
 +++ b/libgcc/config.host
-@@ -560,6 +560,15 @@ sparc64-*-netbsd*)
+@@ -562,6 +562,15 @@ sparc64-*-netbsd*)
        ;;
  spu-*-elf*)
        ;;
index 403354fd8074a6780baf1d58692888ddf41d5ea3..7966936840fcb1f5a3c51d830e0cabdb57ada5f2 100644 (file)
@@ -1,6 +1,6 @@
 --- a/gcc/config/arm/linux-eabi.h
 +++ b/gcc/config/arm/linux-eabi.h
-@@ -63,10 +63,14 @@
+@@ -63,12 +63,16 @@
  #undef  GLIBC_DYNAMIC_LINKER
  #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.3"
  
  /* At this point, bpabi.h will have clobbered LINK_SPEC.  We want to
     use the GNU/Linux version, not the generic BPABI version.  */
  #undef  LINK_SPEC
--#define LINK_SPEC LINUX_TARGET_LINK_SPEC BE8_LINK_SPEC
-+#define LINK_SPEC LINUX_TARGET_LINK_SPEC BE8_LINK_SPEC TARGET_FIX_V4BX_SPEC
- /* Use the default LIBGCC_SPEC, not the version in linux-elf.h, as we
-    do not use -lfloat.  */
+ #define LINK_SPEC BE8_LINK_SPEC                                               \
+   LINUX_OR_ANDROID_LD (LINUX_TARGET_LINK_SPEC,                                \
+-                     LINUX_TARGET_LINK_SPEC " " ANDROID_LINK_SPEC)
++                     LINUX_TARGET_LINK_SPEC " " ANDROID_LINK_SPEC)    \
+
+ #undef  CC1_SPEC
+ #define CC1_SPEC                                              \
index 5e33c9d4e16de25aa100142cf5adcafa25226ad4..ce54731de21932992149f319e4fa756f64f1daa0 100644 (file)
@@ -1,9 +1,9 @@
 --- a/gcc/config/arm/linux-eabi.h
 +++ b/gcc/config/arm/linux-eabi.h
-@@ -72,10 +72,6 @@
- #undef  LINK_SPEC
- #define LINK_SPEC LINUX_TARGET_LINK_SPEC BE8_LINK_SPEC TARGET_FIX_V4BX_SPEC
+@@ -95,10 +95,6 @@
+ #define ENDFILE_SPEC \
+   LINUX_OR_ANDROID_LD (LINUX_TARGET_ENDFILE_SPEC, ANDROID_ENDFILE_SPEC)
+
 -/* Use the default LIBGCC_SPEC, not the version in linux-elf.h, as we
 -   do not use -lfloat.  */
 -#undef LIBGCC_SPEC
@@ -24,7 +24,7 @@
  #define LINUX_TARGET_LINK_SPEC  "%{h*} %{version:-v} \
 --- a/gcc/config/linux.h
 +++ b/gcc/config/linux.h
-@@ -104,6 +104,10 @@
+@@ -116,6 +116,10 @@
  #define USE_LD_AS_NEEDED 1
  #endif
  
@@ -33,8 +33,8 @@
 +#endif
 +
  /* Determine which dynamic linker to use depending on whether GLIBC or
-    uClibc is the default C library and whether -muclibc or -mglibc has
-    been passed to change the default.  */
+    uClibc or Bionic is the default C library and whether
+    -muclibc or -mglibc or -mbionic has been passed to change the default.  */
 --- a/gcc/mkmap-symver.awk
 +++ b/gcc/mkmap-symver.awk
 @@ -132,5 +132,5 @@
index 387e02a78998375b1872b4544099c48f81006354..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 (file)
@@ -1,18 +0,0 @@
-https://bugs.launchpad.net/gcc-linaro/+bug/728315
-https://lists.openwrt.org/pipermail/openwrt-devel/2011-March/009847.html
-
---- a/gcc/ee.c
-+++ b/gcc/ee.c
-@@ -209,7 +209,11 @@
-
-       *regno = REGNO (reg);
-
--      if (paradoxical_subreg_p (use))
-+      /* Non-paradoxical SUBREGs of promoted vars guarantee that the
-+       upper (elided) bits of the inner register have a particular value.
-+       For our purposes, such SUBREGs act as a full reference to the
-+       inner register.  */
-+      if (paradoxical_subreg_p (use) || SUBREG_PROMOTED_VAR_P (use))
-         *size = GET_MODE_BITSIZE (GET_MODE (reg));
-       else
-         *size = subreg_lsb (use) + GET_MODE_BITSIZE (GET_MODE (use));
index ba82c5d5ba196aaf6344555bd774485c769dd86b..b9d5ffa24bc22d39df16a6a26853b3fc3219fdb1 100644 (file)
  -Wfatal-errors  -Wfloat-equal  -Wformat  -Wformat=2 @gol
  -Wno-format-contains-nul -Wno-format-extra-args -Wformat-nonliteral @gol
  -Wformat-security  -Wformat-y2k @gol
-@@ -4359,6 +4359,22 @@ This option is only supported for C and
+@@ -4360,6 +4360,22 @@ This option is only supported for C and
  @option{-Wall} and by @option{-pedantic}, which can be disabled with
  @option{-Wno-pointer-sign}.
  
  @item -Wstack-protector
  @opindex Wstack-protector
  @opindex Wno-stack-protector
-@@ -6112,7 +6128,7 @@ so, the first branch is redirected to ei
+@@ -6114,7 +6130,7 @@ so, the first branch is redirected to ei
  second branch or a point immediately following it, depending on whether
  the condition is known to be true or false.
  
index 09c7e3f25ae77d8aa8492277e48c53e8dbb08e7f..57feb328f8e09f86fc6dc1b75de50573e15b1306 100644 (file)
@@ -1,6 +1,6 @@
 --- a/gcc/config/arm/arm-protos.h
 +++ b/gcc/config/arm/arm-protos.h
-@@ -43,10 +43,10 @@ extern unsigned int arm_dbx_register_num
+@@ -44,10 +44,10 @@ extern unsigned int arm_dbx_register_num
  extern void arm_output_fn_unwind (FILE *, bool);
    
  
index 24a86b4fa62227ad53987ae6a1c2a6c660c10f62..bffe4d3a0f906fd2fd9ae1d5332593992205a058 100644 (file)
 +
 --- a/gcc/config/arm/t-arm
 +++ b/gcc/config/arm/t-arm
-@@ -24,6 +24,7 @@ MD_INCLUDES=         $(srcdir)/config/arm/arm-t
-               $(srcdir)/config/arm/arm1020e.md \
-               $(srcdir)/config/arm/arm1026ejs.md \
-               $(srcdir)/config/arm/arm1136jfs.md \
-+              $(srcdir)/config/arm/fa526.md \
-               $(srcdir)/config/arm/arm926ejs.md \
-               $(srcdir)/config/arm/cirrus.md \
-               $(srcdir)/config/arm/fpa.md \
+@@ -23,6 +23,7 @@ MD_INCLUDES=         $(srcdir)/config/arm/arm-t
+               $(srcdir)/config/arm/arm-generic.md             \
+               $(srcdir)/config/arm/arm1020e.md                \
+               $(srcdir)/config/arm/arm1026ejs.md              \
++              $(srcdir)/config/arm/fa526.md                   \
+               $(srcdir)/config/arm/arm1136jfs.md              \
+               $(srcdir)/config/arm/arm926ejs.md               \
+               $(srcdir)/config/arm/cirrus.md                  \
 --- a/gcc/config/arm/t-arm-elf
 +++ b/gcc/config/arm/t-arm-elf
 @@ -36,6 +36,10 @@ MULTILIB_DIRNAMES    = arm thumb
  # MULTILIB_DIRNAMES   += ep9312
 --- a/gcc/doc/invoke.texi
 +++ b/gcc/doc/invoke.texi
-@@ -9900,7 +9900,8 @@ assembly code.  Permissible names are: @
+@@ -9923,7 +9923,8 @@ assembly code.  Permissible names are: @
  @samp{cortex-r4}, @samp{cortex-r4f}, @samp{cortex-m4}, @samp{cortex-m3},
  @samp{cortex-m1},
  @samp{cortex-m0},
index d656aacef9e93b9cc73e57ecf227a42ff40be37c..c8e4bd03ace888e1036fa5b800577992c41eaa52 100644 (file)
@@ -1,6 +1,6 @@
 --- a/gcc/config.gcc
 +++ b/gcc/config.gcc
-@@ -1662,6 +1662,7 @@ m68k-*-linux*)           # Motorola m68k's runnin
+@@ -1690,6 +1690,7 @@ m68k-*-linux*)           # Motorola m68k's runnin
        if test x$sjlj != x1; then
            tmake_file="$tmake_file m68k/t-slibgcc-elf-ver"
        fi