diff options
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 | ||
15 | SRCREV = "170880" | 15 | SRCREV = "170880" |
16 | PV = "4.5" | 16 | PV = "4.5" |
17 | INC_PR = "r33" | 17 | INC_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 | |||
4 | Index: 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 @@ | |||
1 | 2010-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 | ||
9 | Signed-off-by: Mark Hatle <mark.hatle@windriver.com> | 9 | Signed-off-by: Mark Hatle <mark.hatle@windriver.com> |
10 | 10 | ||
11 | diff -ur gcc-4.5.0.orig/gcc/incpath.c gcc-4.5.0/gcc/incpath.c | 11 | Index: 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 | ||
7 | Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> | 7 | Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> |
8 | 8 | ||
9 | diff --git a/gcc/config.in b/gcc/config.in | 9 | Index: gcc-4_5-branch/gcc/config.in |
10 | index 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. */ |
26 | diff --git a/gcc/configure b/gcc/configure | 26 | Index: gcc-4_5-branch/gcc/configure |
27 | index 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 | ||
52 | diff --git a/gcc/configure.ac b/gcc/configure.ac | 52 | Index: gcc-4_5-branch/gcc/configure.ac |
53 | index 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 | ||
68 | diff --git a/gcc/opts.c b/gcc/opts.c | 68 | Index: gcc-4_5-branch/gcc/opts.c |
69 | index 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 @@ | |||
1 | PR = "${INC_PR}.0" | 1 | PR = "${INC_PR}.1" |
2 | 2 | ||
3 | require recipes-devtools/gcc/gcc-${PV}.inc | 3 | require recipes-devtools/gcc/gcc-${PV}.inc |
4 | require recipes-devtools/gcc/gcc-configure-runtime.inc | 4 | require recipes-devtools/gcc/gcc-configure-runtime.inc |
@@ -9,3 +9,8 @@ SRC_URI_append = "file://fortran-cross-compile-hack.patch" | |||
9 | ARCH_FLAGS_FOR_TARGET += "-isystem${STAGING_INCDIR}" | 9 | ARCH_FLAGS_FOR_TARGET += "-isystem${STAGING_INCDIR}" |
10 | 10 | ||
11 | EXTRA_OECONF += "--disable-libunwind-exceptions" | 11 | EXTRA_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 | ||
16 | CXXFLAGS := "${@oe_filter_out('-feliminate-dwarf2-dups', '${CXXFLAGS}', d)}" | ||