summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-oe/recipes-devtools/gcc/gcc-4.5.inc17
-rw-r--r--meta-oe/recipes-devtools/gcc/gcc-4.5/COLLECT_GCC_OPTIONS.patch23
-rw-r--r--meta-oe/recipes-devtools/gcc/gcc-4.5/fedora/gcc45-no-add-needed.patch52
-rw-r--r--meta-oe/recipes-devtools/gcc/gcc-4.5/gcc-poison-dir-extend.patch29
-rw-r--r--meta-oe/recipes-devtools/gcc/gcc-4.5/gcc-poison-parameters.patch44
-rw-r--r--meta-oe/recipes-devtools/gcc/gcc-runtime_4.5.bb7
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 \
14 14
15SRCREV = "170880" 15SRCREV = "170880"
16PV = "4.5" 16PV = "4.5"
17INC_PR = "r33" 17INC_PR = "r34"
18 18
19# BINV should be incremented after updating to a revision 19# BINV should be incremented after updating to a revision
20# after a minor gcc release (e.g. 4.5.1 or 4.5.2) has been made 20# 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} \
37 file://gcc-armv4-pass-fix-v4bx-to-ld.patch \ 37 file://gcc-armv4-pass-fix-v4bx-to-ld.patch \
38 file://sh4-multilib.patch \ 38 file://sh4-multilib.patch \
39 file://arm-lib1funcs.as-fix-mismatch-between-conditions-of-an-IT-block.patch \ 39 file://arm-lib1funcs.as-fix-mismatch-between-conditions-of-an-IT-block.patch \
40 \
40 file://linaro/gcc-4.5-linaro-r99297.patch \ 41 file://linaro/gcc-4.5-linaro-r99297.patch \
41 file://linaro/gcc-4.5-linaro-r99298.patch \ 42 file://linaro/gcc-4.5-linaro-r99298.patch \
42 file://linaro/gcc-4.5-linaro-r99299.patch \ 43 file://linaro/gcc-4.5-linaro-r99299.patch \
@@ -182,9 +183,23 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH} \
182 file://gcc-scalar-widening-pr45847.patch \ 183 file://gcc-scalar-widening-pr45847.patch \
183 file://gcc-arm-volatile-bitfield-fix.patch \ 184 file://gcc-arm-volatile-bitfield-fix.patch \
184 \ 185 \
186 file://fedora/gcc43-c++-builtin-redecl.patch;striplevel=0 \
187 file://fedora/gcc43-ia64-libunwind.patch;striplevel=0 \
188 file://fedora/gcc43-java-nomulti.patch;striplevel=0 \
189 file://fedora/gcc43-ppc32-retaddr.patch;striplevel=0 \
190 file://fedora/gcc43-pr32139.patch;striplevel=0 \
191 file://fedora/gcc43-pr33763.patch;striplevel=0 \
192 file://fedora/gcc43-rh330771.patch;striplevel=0 \
193 file://fedora/gcc43-rh341221.patch;striplevel=0 \
194 file://fedora/gcc43-java-debug-iface-type.patch;striplevel=0 \
195 file://fedora/gcc43-i386-libgomp.patch;striplevel=0 \
196 file://fedora/gcc45-no-add-needed.patch;striplevel=0 \
185 file://optional_libstdc.patch \ 197 file://optional_libstdc.patch \
186 file://64bithack.patch \ 198 file://64bithack.patch \
187 file://GPLUSPLUS_INCLUDE_DIR_with_sysroot.patch \ 199 file://GPLUSPLUS_INCLUDE_DIR_with_sysroot.patch \
200 file://COLLECT_GCC_OPTIONS.patch \
201 file://gcc-poison-dir-extend.patch \
202 file://gcc-poison-parameters.patch \
188 " 203 "
189 204
190# Language Overrides 205# 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 @@
1#This patck added --sysroot into COLLECT_GCC_OPTIONS which is used to
2#invoke collect2.
3
4Index: gcc-4_5-branch/gcc/gcc.c
5===================================================================
6--- gcc-4_5-branch.orig/gcc/gcc.c
7+++ gcc-4_5-branch/gcc/gcc.c
8@@ -4667,6 +4667,15 @@ set_collect_gcc_options (void)
9 sizeof ("COLLECT_GCC_OPTIONS=") - 1);
10
11 first_time = TRUE;
12+#ifdef HAVE_LD_SYSROOT
13+ if (target_system_root_changed && target_system_root)
14+ {
15+ obstack_grow (&collect_obstack, "'--sysroot=", sizeof("'--sysroot=")-1);
16+ obstack_grow (&collect_obstack, target_system_root,strlen(target_system_root));
17+ obstack_grow (&collect_obstack, "'", 1);
18+ first_time = FALSE;
19+ }
20+#endif
21 for (i = 0; (int) i < n_switches; i++)
22 {
23 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 @@
12010-02-08 Roland McGrath <roland@redhat.com>
2
3 * config/rs6000/sysv4.h (LINK_EH_SPEC): Pass --no-add-needed to the
4 linker.
5 * config/linux.h (LINK_EH_SPEC): Likewise.
6 * config/alpha/elf.h (LINK_EH_SPEC): Likewise.
7 * config/ia64/linux.h (LINK_EH_SPEC): Likewise.
8
9--- gcc/config/alpha/elf.h.~1~
10+++ gcc/config/alpha/elf.h
11@@ -421,7 +421,7 @@ extern int alpha_this_gpdisp_sequence_nu
12 I imagine that other systems will catch up. In the meantime, it
13 doesn't harm to make sure that the data exists to be used later. */
14 #if defined(HAVE_LD_EH_FRAME_HDR)
15-#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
16+#define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} "
17 #endif
18
19 /* A C statement (sans semicolon) to output to the stdio stream STREAM
20--- gcc/config/ia64/linux.h.~1~
21+++ gcc/config/ia64/linux.h
22@@ -58,7 +58,7 @@ do { \
23 Signalize that because we have fde-glibc, we don't need all C shared libs
24 linked against -lgcc_s. */
25 #undef LINK_EH_SPEC
26-#define LINK_EH_SPEC ""
27+#define LINK_EH_SPEC "--no-add-needed "
28
29 #define MD_UNWIND_SUPPORT "config/ia64/linux-unwind.h"
30
31--- gcc/config/linux.h.~1~
32+++ gcc/config/linux.h
33@@ -89,7 +89,7 @@ see the files COPYING3 and COPYING.RUNTI
34 } while (0)
35
36 #if defined(HAVE_LD_EH_FRAME_HDR)
37-#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
38+#define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} "
39 #endif
40
41 /* Define this so we can compile MS code for use with WINE. */
42--- gcc/config/rs6000/sysv4.h.~1~
43+++ gcc/config/rs6000/sysv4.h
44@@ -917,7 +917,7 @@ SVR4_ASM_SPEC \
45 %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}}}"
46
47 #if defined(HAVE_LD_EH_FRAME_HDR)
48-# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
49+# define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} "
50 #endif
51
52 #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".
8 8
9Signed-off-by: Mark Hatle <mark.hatle@windriver.com> 9Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
10 10
11diff -ur gcc-4.5.0.orig/gcc/incpath.c gcc-4.5.0/gcc/incpath.c 11Index: gcc-4_5-branch/gcc/incpath.c
12--- gcc-4.5.0.orig/gcc/incpath.c 2010-09-29 14:58:31.358975524 -0500 12===================================================================
13+++ gcc-4.5.0/gcc/incpath.c 2010-09-29 15:08:02.065975516 -0500 13--- gcc-4_5-branch.orig/gcc/incpath.c
14@@ -363,7 +363,9 @@ 14+++ gcc-4_5-branch/gcc/incpath.c
15 { 15@@ -365,7 +365,9 @@ merge_include_chains (const char *sysroo
16 if ((!strncmp (p->name, "/usr/include", 12)) 16 {
17 || (!strncmp (p->name, "/usr/local/include", 18)) 17 if ((!strncmp (p->name, "/usr/include", 12))
18- || (!strncmp (p->name, "/usr/X11R6/include", 18))) 18 || (!strncmp (p->name, "/usr/local/include", 18))
19+ || (!strncmp (p->name, "/usr/X11R6/include", 18)) 19- || (!strncmp (p->name, "/usr/X11R6/include", 18)))
20+ || (!strncmp (p->name, "/sw/include", 11)) 20+ || (!strncmp (p->name, "/usr/X11R6/include", 18))
21+ || (!strncmp (p->name, "/opt/include", 12))) 21+ || (!strncmp (p->name, "/sw/include", 11))
22 warning (OPT_Wpoison_system_directories, 22+ || (!strncmp (p->name, "/opt/include", 12)))
23 "include location \"%s\" is unsafe for " 23 warning (OPT_Wpoison_system_directories,
24 "cross-compilation", 24 "include location \"%s\" is unsafe for "
25 "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.
6 6
7Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> 7Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
8 8
9diff --git a/gcc/config.in b/gcc/config.in 9Index: gcc-4_5-branch/gcc/config.in
10index a9e208f..3004321 100644 10===================================================================
11--- a/gcc/config.in 11--- gcc-4_5-branch.orig/gcc/config.in
12+++ b/gcc/config.in 12+++ gcc-4_5-branch/gcc/config.in
13@@ -132,6 +132,12 @@ 13@@ -138,6 +138,12 @@
14 #endif 14 #endif
15 15
16 16
@@ -23,19 +23,19 @@ index a9e208f..3004321 100644
23 /* Define if you want all operations on RTL (the basic data structure of the 23 /* Define if you want all operations on RTL (the basic data structure of the
24 optimizer and back end) to be checked for dynamic type safety at runtime. 24 optimizer and back end) to be checked for dynamic type safety at runtime.
25 This is quite expensive. */ 25 This is quite expensive. */
26diff --git a/gcc/configure b/gcc/configure 26Index: gcc-4_5-branch/gcc/configure
27index 2e022ed..004ec0b 100755 27===================================================================
28--- a/gcc/configure 28--- gcc-4_5-branch.orig/gcc/configure
29+++ b/gcc/configure 29+++ gcc-4_5-branch/gcc/configure
30@@ -909,6 +909,7 @@ enable_maintainer_mode 30@@ -915,6 +915,7 @@ enable_version_specific_runtime_libs
31 enable_version_specific_runtime_libs
32 with_slibdir 31 with_slibdir
32 enable_poison_system_directories
33 enable_plugin 33 enable_plugin
34+enable_target_optspace 34+enable_target_optspace
35 ' 35 '
36 ac_precious_vars='build_alias 36 ac_precious_vars='build_alias
37 host_alias 37 host_alias
38@@ -25289,6 +25290,13 @@ $as_echo "#define ENABLE_PLUGIN 1" >>confdefs.h 38@@ -25658,6 +25659,13 @@ $as_echo "#define ENABLE_PLUGIN 1" >>con
39 39
40 fi 40 fi
41 41
@@ -49,11 +49,11 @@ index 2e022ed..004ec0b 100755
49 # Configure the subdirectories 49 # Configure the subdirectories
50 # AC_CONFIG_SUBDIRS($subdirs) 50 # AC_CONFIG_SUBDIRS($subdirs)
51 51
52diff --git a/gcc/configure.ac b/gcc/configure.ac 52Index: gcc-4_5-branch/gcc/configure.ac
53index ac4ca70..18ec0aa 100644 53===================================================================
54--- a/gcc/configure.ac 54--- gcc-4_5-branch.orig/gcc/configure.ac
55+++ b/gcc/configure.ac 55+++ gcc-4_5-branch/gcc/configure.ac
56@@ -4434,6 +4434,11 @@ if test x"$enable_plugin" = x"yes"; then 56@@ -4659,6 +4659,11 @@ if test x"$enable_plugin" = x"yes"; then
57 AC_DEFINE(ENABLE_PLUGIN, 1, [Define to enable plugin support.]) 57 AC_DEFINE(ENABLE_PLUGIN, 1, [Define to enable plugin support.])
58 fi 58 fi
59 59
@@ -65,11 +65,11 @@ index ac4ca70..18ec0aa 100644
65 # Configure the subdirectories 65 # Configure the subdirectories
66 # AC_CONFIG_SUBDIRS($subdirs) 66 # AC_CONFIG_SUBDIRS($subdirs)
67 67
68diff --git a/gcc/opts.c b/gcc/opts.c 68Index: gcc-4_5-branch/gcc/opts.c
69index 139cd26..2fdd96a 100644 69===================================================================
70--- a/gcc/opts.c 70--- gcc-4_5-branch.orig/gcc/opts.c
71+++ b/gcc/opts.c 71+++ gcc-4_5-branch/gcc/opts.c
72@@ -945,6 +945,11 @@ decode_options (unsigned int argc, const char **argv) 72@@ -953,6 +953,11 @@ decode_options (unsigned int argc, const
73 else 73 else
74 set_param_value ("min-crossjump-insns", initial_min_crossjump_insns); 74 set_param_value ("min-crossjump-insns", initial_min_crossjump_insns);
75 75
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 @@
1PR = "${INC_PR}.0" 1PR = "${INC_PR}.1"
2 2
3require recipes-devtools/gcc/gcc-${PV}.inc 3require recipes-devtools/gcc/gcc-${PV}.inc
4require recipes-devtools/gcc/gcc-configure-runtime.inc 4require recipes-devtools/gcc/gcc-configure-runtime.inc
@@ -9,3 +9,8 @@ SRC_URI_append = "file://fortran-cross-compile-hack.patch"
9ARCH_FLAGS_FOR_TARGET += "-isystem${STAGING_INCDIR}" 9ARCH_FLAGS_FOR_TARGET += "-isystem${STAGING_INCDIR}"
10 10
11EXTRA_OECONF += "--disable-libunwind-exceptions" 11EXTRA_OECONF += "--disable-libunwind-exceptions"
12
13# gcc 4.5 ends up in ICE when using -feliminate-dwarf2-dups in libstdc++
14# compiling pre compiled headers so we remove this option when compiling
15# to workaround it
16CXXFLAGS := "${@oe_filter_out('-feliminate-dwarf2-dups', '${CXXFLAGS}', d)}"