diff options
author | Khem Raj <raj.khem@gmail.com> | 2011-03-19 15:35:06 -0700 |
---|---|---|
committer | Koen Kooi <koen@dominion.thruhere.net> | 2011-03-20 08:44:45 +0100 |
commit | 469531f353696e6235b56dd4dcafe77ab9c1cae3 (patch) | |
tree | b3e7ac2731395d164545dc8cb00dd2b82dcad14e /meta-oe | |
parent | 2fe69cb8c570f2a9065232bb66187c05ea2afaa4 (diff) | |
download | meta-openembedded-contrib-469531f353696e6235b56dd4dcafe77ab9c1cae3.tar.gz |
gcc-4.5: Sync patches from yocto
With this patchset now the gcc has all goodies from
OE as well as yocto together merged into meta-oe
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Diffstat (limited to 'meta-oe')
6 files changed, 134 insertions, 38 deletions
diff --git a/meta-oe/recipes-devtools/gcc/gcc-4.5.inc b/meta-oe/recipes-devtools/gcc/gcc-4.5.inc index d3b8321870..b510650cda 100644 --- a/meta-oe/recipes-devtools/gcc/gcc-4.5.inc +++ b/meta-oe/recipes-devtools/gcc/gcc-4.5.inc @@ -14,7 +14,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ SRCREV = "170880" PV = "4.5" -INC_PR = "r33" +INC_PR = "r34" # BINV should be incremented after updating to a revision # after a minor gcc release (e.g. 4.5.1 or 4.5.2) has been made @@ -37,6 +37,7 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH} \ file://gcc-armv4-pass-fix-v4bx-to-ld.patch \ file://sh4-multilib.patch \ file://arm-lib1funcs.as-fix-mismatch-between-conditions-of-an-IT-block.patch \ + \ file://linaro/gcc-4.5-linaro-r99297.patch \ file://linaro/gcc-4.5-linaro-r99298.patch \ file://linaro/gcc-4.5-linaro-r99299.patch \ @@ -182,9 +183,23 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH} \ file://gcc-scalar-widening-pr45847.patch \ file://gcc-arm-volatile-bitfield-fix.patch \ \ + file://fedora/gcc43-c++-builtin-redecl.patch;striplevel=0 \ + file://fedora/gcc43-ia64-libunwind.patch;striplevel=0 \ + file://fedora/gcc43-java-nomulti.patch;striplevel=0 \ + file://fedora/gcc43-ppc32-retaddr.patch;striplevel=0 \ + file://fedora/gcc43-pr32139.patch;striplevel=0 \ + file://fedora/gcc43-pr33763.patch;striplevel=0 \ + file://fedora/gcc43-rh330771.patch;striplevel=0 \ + file://fedora/gcc43-rh341221.patch;striplevel=0 \ + file://fedora/gcc43-java-debug-iface-type.patch;striplevel=0 \ + file://fedora/gcc43-i386-libgomp.patch;striplevel=0 \ + file://fedora/gcc45-no-add-needed.patch;striplevel=0 \ file://optional_libstdc.patch \ file://64bithack.patch \ file://GPLUSPLUS_INCLUDE_DIR_with_sysroot.patch \ + file://COLLECT_GCC_OPTIONS.patch \ + file://gcc-poison-dir-extend.patch \ + file://gcc-poison-parameters.patch \ " # Language Overrides diff --git a/meta-oe/recipes-devtools/gcc/gcc-4.5/COLLECT_GCC_OPTIONS.patch b/meta-oe/recipes-devtools/gcc/gcc-4.5/COLLECT_GCC_OPTIONS.patch new file mode 100644 index 0000000000..076e9a614f --- /dev/null +++ b/meta-oe/recipes-devtools/gcc/gcc-4.5/COLLECT_GCC_OPTIONS.patch @@ -0,0 +1,23 @@ +#This patck added --sysroot into COLLECT_GCC_OPTIONS which is used to +#invoke collect2. + +Index: gcc-4_5-branch/gcc/gcc.c +=================================================================== +--- gcc-4_5-branch.orig/gcc/gcc.c ++++ gcc-4_5-branch/gcc/gcc.c +@@ -4667,6 +4667,15 @@ set_collect_gcc_options (void) + sizeof ("COLLECT_GCC_OPTIONS=") - 1); + + first_time = TRUE; ++#ifdef HAVE_LD_SYSROOT ++ if (target_system_root_changed && target_system_root) ++ { ++ obstack_grow (&collect_obstack, "'--sysroot=", sizeof("'--sysroot=")-1); ++ obstack_grow (&collect_obstack, target_system_root,strlen(target_system_root)); ++ obstack_grow (&collect_obstack, "'", 1); ++ first_time = FALSE; ++ } ++#endif + for (i = 0; (int) i < n_switches; i++) + { + const char *const *args; diff --git a/meta-oe/recipes-devtools/gcc/gcc-4.5/fedora/gcc45-no-add-needed.patch b/meta-oe/recipes-devtools/gcc/gcc-4.5/fedora/gcc45-no-add-needed.patch new file mode 100644 index 0000000000..23704d3b71 --- /dev/null +++ b/meta-oe/recipes-devtools/gcc/gcc-4.5/fedora/gcc45-no-add-needed.patch @@ -0,0 +1,52 @@ +2010-02-08 Roland McGrath <roland@redhat.com> + + * config/rs6000/sysv4.h (LINK_EH_SPEC): Pass --no-add-needed to the + linker. + * config/linux.h (LINK_EH_SPEC): Likewise. + * config/alpha/elf.h (LINK_EH_SPEC): Likewise. + * config/ia64/linux.h (LINK_EH_SPEC): Likewise. + +--- gcc/config/alpha/elf.h.~1~ ++++ gcc/config/alpha/elf.h +@@ -421,7 +421,7 @@ extern int alpha_this_gpdisp_sequence_nu + I imagine that other systems will catch up. In the meantime, it + doesn't harm to make sure that the data exists to be used later. */ + #if defined(HAVE_LD_EH_FRAME_HDR) +-#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " ++#define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} " + #endif + + /* A C statement (sans semicolon) to output to the stdio stream STREAM +--- gcc/config/ia64/linux.h.~1~ ++++ gcc/config/ia64/linux.h +@@ -58,7 +58,7 @@ do { \ + Signalize that because we have fde-glibc, we don't need all C shared libs + linked against -lgcc_s. */ + #undef LINK_EH_SPEC +-#define LINK_EH_SPEC "" ++#define LINK_EH_SPEC "--no-add-needed " + + #define MD_UNWIND_SUPPORT "config/ia64/linux-unwind.h" + +--- gcc/config/linux.h.~1~ ++++ gcc/config/linux.h +@@ -89,7 +89,7 @@ see the files COPYING3 and COPYING.RUNTI + } while (0) + + #if defined(HAVE_LD_EH_FRAME_HDR) +-#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " ++#define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} " + #endif + + /* Define this so we can compile MS code for use with WINE. */ +--- gcc/config/rs6000/sysv4.h.~1~ ++++ gcc/config/rs6000/sysv4.h +@@ -917,7 +917,7 @@ SVR4_ASM_SPEC \ + %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}}}" + + #if defined(HAVE_LD_EH_FRAME_HDR) +-# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " ++# define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} " + #endif + + #define CPP_OS_LINUX_SPEC "-D__unix__ -D__gnu_linux__ -D__linux__ \ diff --git a/meta-oe/recipes-devtools/gcc/gcc-4.5/gcc-poison-dir-extend.patch b/meta-oe/recipes-devtools/gcc/gcc-4.5/gcc-poison-dir-extend.patch index d1712071a9..862b102133 100644 --- a/meta-oe/recipes-devtools/gcc/gcc-4.5/gcc-poison-dir-extend.patch +++ b/meta-oe/recipes-devtools/gcc/gcc-4.5/gcc-poison-dir-extend.patch @@ -8,17 +8,18 @@ wants this to be a failure, they can add "-Werror=poison-system-directories". Signed-off-by: Mark Hatle <mark.hatle@windriver.com> -diff -ur gcc-4.5.0.orig/gcc/incpath.c gcc-4.5.0/gcc/incpath.c ---- gcc-4.5.0.orig/gcc/incpath.c 2010-09-29 14:58:31.358975524 -0500 -+++ gcc-4.5.0/gcc/incpath.c 2010-09-29 15:08:02.065975516 -0500 -@@ -363,7 +363,9 @@ - { - if ((!strncmp (p->name, "/usr/include", 12)) - || (!strncmp (p->name, "/usr/local/include", 18)) -- || (!strncmp (p->name, "/usr/X11R6/include", 18))) -+ || (!strncmp (p->name, "/usr/X11R6/include", 18)) -+ || (!strncmp (p->name, "/sw/include", 11)) -+ || (!strncmp (p->name, "/opt/include", 12))) - warning (OPT_Wpoison_system_directories, - "include location \"%s\" is unsafe for " - "cross-compilation", +Index: gcc-4_5-branch/gcc/incpath.c +=================================================================== +--- gcc-4_5-branch.orig/gcc/incpath.c ++++ gcc-4_5-branch/gcc/incpath.c +@@ -365,7 +365,9 @@ merge_include_chains (const char *sysroo + { + if ((!strncmp (p->name, "/usr/include", 12)) + || (!strncmp (p->name, "/usr/local/include", 18)) +- || (!strncmp (p->name, "/usr/X11R6/include", 18))) ++ || (!strncmp (p->name, "/usr/X11R6/include", 18)) ++ || (!strncmp (p->name, "/sw/include", 11)) ++ || (!strncmp (p->name, "/opt/include", 12))) + warning (OPT_Wpoison_system_directories, + "include location \"%s\" is unsafe for " + "cross-compilation", diff --git a/meta-oe/recipes-devtools/gcc/gcc-4.5/gcc-poison-parameters.patch b/meta-oe/recipes-devtools/gcc/gcc-4.5/gcc-poison-parameters.patch index 3cc7cbad4b..ba20e8b15e 100644 --- a/meta-oe/recipes-devtools/gcc/gcc-4.5/gcc-poison-parameters.patch +++ b/meta-oe/recipes-devtools/gcc/gcc-4.5/gcc-poison-parameters.patch @@ -6,11 +6,11 @@ This could avoid potential binary crash. Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> -diff --git a/gcc/config.in b/gcc/config.in -index a9e208f..3004321 100644 ---- a/gcc/config.in -+++ b/gcc/config.in -@@ -132,6 +132,12 @@ +Index: gcc-4_5-branch/gcc/config.in +=================================================================== +--- gcc-4_5-branch.orig/gcc/config.in ++++ gcc-4_5-branch/gcc/config.in +@@ -138,6 +138,12 @@ #endif @@ -23,19 +23,19 @@ index a9e208f..3004321 100644 /* Define if you want all operations on RTL (the basic data structure of the optimizer and back end) to be checked for dynamic type safety at runtime. This is quite expensive. */ -diff --git a/gcc/configure b/gcc/configure -index 2e022ed..004ec0b 100755 ---- a/gcc/configure -+++ b/gcc/configure -@@ -909,6 +909,7 @@ enable_maintainer_mode - enable_version_specific_runtime_libs +Index: gcc-4_5-branch/gcc/configure +=================================================================== +--- gcc-4_5-branch.orig/gcc/configure ++++ gcc-4_5-branch/gcc/configure +@@ -915,6 +915,7 @@ enable_version_specific_runtime_libs with_slibdir + enable_poison_system_directories enable_plugin +enable_target_optspace ' ac_precious_vars='build_alias host_alias -@@ -25289,6 +25290,13 @@ $as_echo "#define ENABLE_PLUGIN 1" >>confdefs.h +@@ -25658,6 +25659,13 @@ $as_echo "#define ENABLE_PLUGIN 1" >>con fi @@ -49,11 +49,11 @@ index 2e022ed..004ec0b 100755 # Configure the subdirectories # AC_CONFIG_SUBDIRS($subdirs) -diff --git a/gcc/configure.ac b/gcc/configure.ac -index ac4ca70..18ec0aa 100644 ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -4434,6 +4434,11 @@ if test x"$enable_plugin" = x"yes"; then +Index: gcc-4_5-branch/gcc/configure.ac +=================================================================== +--- gcc-4_5-branch.orig/gcc/configure.ac ++++ gcc-4_5-branch/gcc/configure.ac +@@ -4659,6 +4659,11 @@ if test x"$enable_plugin" = x"yes"; then AC_DEFINE(ENABLE_PLUGIN, 1, [Define to enable plugin support.]) fi @@ -65,11 +65,11 @@ index ac4ca70..18ec0aa 100644 # Configure the subdirectories # AC_CONFIG_SUBDIRS($subdirs) -diff --git a/gcc/opts.c b/gcc/opts.c -index 139cd26..2fdd96a 100644 ---- a/gcc/opts.c -+++ b/gcc/opts.c -@@ -945,6 +945,11 @@ decode_options (unsigned int argc, const char **argv) +Index: gcc-4_5-branch/gcc/opts.c +=================================================================== +--- gcc-4_5-branch.orig/gcc/opts.c ++++ gcc-4_5-branch/gcc/opts.c +@@ -953,6 +953,11 @@ decode_options (unsigned int argc, const else set_param_value ("min-crossjump-insns", initial_min_crossjump_insns); diff --git a/meta-oe/recipes-devtools/gcc/gcc-runtime_4.5.bb b/meta-oe/recipes-devtools/gcc/gcc-runtime_4.5.bb index bfc5ce564d..1571601915 100644 --- a/meta-oe/recipes-devtools/gcc/gcc-runtime_4.5.bb +++ b/meta-oe/recipes-devtools/gcc/gcc-runtime_4.5.bb @@ -1,4 +1,4 @@ -PR = "${INC_PR}.0" +PR = "${INC_PR}.1" require recipes-devtools/gcc/gcc-${PV}.inc require recipes-devtools/gcc/gcc-configure-runtime.inc @@ -9,3 +9,8 @@ SRC_URI_append = "file://fortran-cross-compile-hack.patch" ARCH_FLAGS_FOR_TARGET += "-isystem${STAGING_INCDIR}" EXTRA_OECONF += "--disable-libunwind-exceptions" + +# gcc 4.5 ends up in ICE when using -feliminate-dwarf2-dups in libstdc++ +# compiling pre compiled headers so we remove this option when compiling +# to workaround it +CXXFLAGS := "${@oe_filter_out('-feliminate-dwarf2-dups', '${CXXFLAGS}', d)}" |