From 59ad83aff1e89ae4d94bf0701cd23290b3f3ffc8 Mon Sep 17 00:00:00 2001 From: Mirko Vogt Date: Tue, 7 Jun 2011 00:13:56 +0000 Subject: [PATCH] upgrade Linaro GCC to 4.5-2011.05-0 - thanks to Mark Mentovai SVN-Revision: 27118 --- toolchain/gcc/Config.in | 2 +- toolchain/gcc/common.mk | 8 ++++---- .../patches/linaro/600-ubicom_support.patch | 4 ++-- .../linaro/840-armv4_pass_fix-v4bx_to_ld.patch | 14 ++++++++------ .../patches/linaro/850-use_shared_libgcc.patch | 14 +++++++------- .../linaro/860-fix_extension_elimination.patch | 18 ------------------ .../gcc/patches/linaro/910-mbsd_multi.patch | 4 ++-- .../993-arm_insn-opinit-RTX_CODE-fixup.patch | 2 +- toolchain/gcc/patches/linaro/995-fa526.patch | 18 +++++++++--------- .../gcc/patches/linaro/999-coldfire.patch | 2 +- 10 files changed, 35 insertions(+), 51 deletions(-) diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in index 204219e7ea88..c2d17cbaf83c 100644 --- a/toolchain/gcc/Config.in +++ b/toolchain/gcc/Config.in @@ -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" diff --git a/toolchain/gcc/common.mk b/toolchain/gcc/common.mk index 888cf7a1e5a8..e047ace65390 100644 --- a/toolchain/gcc/common.mk +++ b/toolchain/gcc/common.mk @@ -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 diff --git a/toolchain/gcc/patches/linaro/600-ubicom_support.patch b/toolchain/gcc/patches/linaro/600-ubicom_support.patch index a47d748cf91f..e2dd8c497576 100644 --- a/toolchain/gcc/patches/linaro/600-ubicom_support.patch +++ b/toolchain/gcc/patches/linaro/600-ubicom_support.patch @@ -9313,7 +9313,7 @@ +#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" ;; @@ -9350,7 +9350,7 @@ 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*) ;; diff --git a/toolchain/gcc/patches/linaro/840-armv4_pass_fix-v4bx_to_ld.patch b/toolchain/gcc/patches/linaro/840-armv4_pass_fix-v4bx_to_ld.patch index 403354fd8074..7966936840fc 100644 --- a/toolchain/gcc/patches/linaro/840-armv4_pass_fix-v4bx_to_ld.patch +++ b/toolchain/gcc/patches/linaro/840-armv4_pass_fix-v4bx_to_ld.patch @@ -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" @@ -11,8 +11,10 @@ /* 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 \ diff --git a/toolchain/gcc/patches/linaro/850-use_shared_libgcc.patch b/toolchain/gcc/patches/linaro/850-use_shared_libgcc.patch index 5e33c9d4e16d..ce54731de219 100644 --- a/toolchain/gcc/patches/linaro/850-use_shared_libgcc.patch +++ b/toolchain/gcc/patches/linaro/850-use_shared_libgcc.patch @@ -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 @@ diff --git a/toolchain/gcc/patches/linaro/860-fix_extension_elimination.patch b/toolchain/gcc/patches/linaro/860-fix_extension_elimination.patch index 387e02a78998..e69de29bb2d1 100644 --- a/toolchain/gcc/patches/linaro/860-fix_extension_elimination.patch +++ b/toolchain/gcc/patches/linaro/860-fix_extension_elimination.patch @@ -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)); diff --git a/toolchain/gcc/patches/linaro/910-mbsd_multi.patch b/toolchain/gcc/patches/linaro/910-mbsd_multi.patch index ba82c5d5ba19..b9d5ffa24bc2 100644 --- a/toolchain/gcc/patches/linaro/910-mbsd_multi.patch +++ b/toolchain/gcc/patches/linaro/910-mbsd_multi.patch @@ -209,7 +209,7 @@ -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}. @@ -232,7 +232,7 @@ @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. diff --git a/toolchain/gcc/patches/linaro/993-arm_insn-opinit-RTX_CODE-fixup.patch b/toolchain/gcc/patches/linaro/993-arm_insn-opinit-RTX_CODE-fixup.patch index 09c7e3f25ae7..57feb328f8e0 100644 --- a/toolchain/gcc/patches/linaro/993-arm_insn-opinit-RTX_CODE-fixup.patch +++ b/toolchain/gcc/patches/linaro/993-arm_insn-opinit-RTX_CODE-fixup.patch @@ -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); diff --git a/toolchain/gcc/patches/linaro/995-fa526.patch b/toolchain/gcc/patches/linaro/995-fa526.patch index 24a86b4fa622..bffe4d3a0f90 100644 --- a/toolchain/gcc/patches/linaro/995-fa526.patch +++ b/toolchain/gcc/patches/linaro/995-fa526.patch @@ -214,14 +214,14 @@ + --- 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 @@ -245,7 +245,7 @@ # 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}, diff --git a/toolchain/gcc/patches/linaro/999-coldfire.patch b/toolchain/gcc/patches/linaro/999-coldfire.patch index d656aacef9e9..c8e4bd03ace8 100644 --- a/toolchain/gcc/patches/linaro/999-coldfire.patch +++ b/toolchain/gcc/patches/linaro/999-coldfire.patch @@ -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 -- 2.30.2