aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--recipes-devtools/gcc/gcc-linaro-4.6.inc4
-rw-r--r--recipes-devtools/gcc/gcc-linaro-4.6/64bithack.patch28
-rw-r--r--recipes-devtools/gcc/gcc-linaro-4.6/gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch33
-rw-r--r--recipes-devtools/gcc/gcc-linaro-4.7.inc4
-rw-r--r--recipes-devtools/gcc/gcc-linaro-4.7/64bithack.patch27
-rw-r--r--recipes-devtools/gcc/gcc-linaro-4.7/gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch33
6 files changed, 127 insertions, 2 deletions
diff --git a/recipes-devtools/gcc/gcc-linaro-4.6.inc b/recipes-devtools/gcc/gcc-linaro-4.6.inc
index b673bfd9..1277d15e 100644
--- a/recipes-devtools/gcc/gcc-linaro-4.6.inc
+++ b/recipes-devtools/gcc/gcc-linaro-4.6.inc
@@ -1,13 +1,15 @@
require recipes-devtools/gcc/gcc-4.6.inc
require gcc-linaro-common-4.6.inc
-PR = "r1"
+PR = "r2"
RELEASE = "2012.05"
BINV = "4.6.4"
FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/gcc-${PV}' ], d)}"
SRC_URI = "https://launchpad.net/gcc-linaro/4.6/4.6-${RELEASE}/+download/gcc-${PV}-${RELEASE}.tar.bz2 \
+ file://gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \
+ file://64bithack.patch \
file://optional_libstdc.patch \
file://use-defaults.h-and-t-oe-in-B.patch \
"
diff --git a/recipes-devtools/gcc/gcc-linaro-4.6/64bithack.patch b/recipes-devtools/gcc/gcc-linaro-4.6/64bithack.patch
new file mode 100644
index 00000000..be6a2689
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-linaro-4.6/64bithack.patch
@@ -0,0 +1,28 @@
+This patch causes the GCC to install the libstc++ into lib as opposed to
+lib64 on X86_64 Linux targets. Usually the libstdc++ will be placed in lib64
+during the install step. Because that's where 64bit libs go for linux targets
+according to the FHS. If you don't like this but want to use linux as a target
+you have to patch the toolchain which is what 64bithack.patch attempts to do.
+One solution would be to have a distinctive OE target that doesn't support
+multilib and has 64bit libs under lib. The advantage over the current
+meta/recipes-devtools/gcc/gcc-4.6/64bithack.patch provided by oe-core is that
+multilib upport is entirely disabled and MULTILIB_OSDIRNAMES is empty. This
+prevents a broken toolchain in case --enable-multilib gets used.
+
+Upstream-Status: Inappropriate
+
+Signed-off-by: Ken Werner <ken.werner@linaro.org>
+
+Index: gcc-linaro-4.6-2012.04/gcc/config.gcc
+===================================================================
+--- gcc-linaro-4.6-2012.04.orig/gcc/config.gcc
++++ gcc-linaro-4.6-2012.04/gcc/config.gcc
+@@ -1310,7 +1310,7 @@ x86_64-*-linux* | x86_64-*-kfreebsd*-gnu
+ tm_file="${tm_file} knetbsd-gnu.h"
+ ;;
+ esac
+- tmake_file="${tmake_file} i386/t-linux64 i386/t-crtstuff i386/t-crtpc i386/t-crtfm t-dfprules"
++ tmake_file="${tmake_file} i386/t-crtstuff i386/t-crtpc i386/t-crtfm t-dfprules"
+ ;;
+ i[34567]86-pc-msdosdjgpp*)
+ xm_file=i386/xm-djgpp.h
diff --git a/recipes-devtools/gcc/gcc-linaro-4.6/gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch b/recipes-devtools/gcc/gcc-linaro-4.6/gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
new file mode 100644
index 00000000..ce827400
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-linaro-4.6/gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
@@ -0,0 +1,33 @@
+Upstream-Status: Inappropriate [embedded specific]
+
+---
+ configure | 2 +-
+ configure.ac | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+Index: gcc-4.6.0/configure.ac
+===================================================================
+--- gcc-4.6.0.orig/configure.ac
++++ gcc-4.6.0/configure.ac
+@@ -3073,7 +3073,7 @@ fi
+ # for target_alias and gcc doesn't manage it consistently.
+ target_configargs="--cache-file=./config.cache ${target_configargs}"
+
+-FLAGS_FOR_TARGET=
++FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET"
+ case " $target_configdirs " in
+ *" newlib "*)
+ case " $target_configargs " in
+Index: gcc-4.6.0/configure
+===================================================================
+--- gcc-4.6.0.orig/configure
++++ gcc-4.6.0/configure
+@@ -7594,7 +7594,7 @@ fi
+ # for target_alias and gcc doesn't manage it consistently.
+ target_configargs="--cache-file=./config.cache ${target_configargs}"
+
+-FLAGS_FOR_TARGET=
++FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET"
+ case " $target_configdirs " in
+ *" newlib "*)
+ case " $target_configargs " in
diff --git a/recipes-devtools/gcc/gcc-linaro-4.7.inc b/recipes-devtools/gcc/gcc-linaro-4.7.inc
index bbd11df7..ae509949 100644
--- a/recipes-devtools/gcc/gcc-linaro-4.7.inc
+++ b/recipes-devtools/gcc/gcc-linaro-4.7.inc
@@ -1,13 +1,15 @@
require recipes-devtools/gcc/gcc-4.7.inc
require gcc-linaro-common-4.7.inc
-PR = "r1"
+PR = "r2"
RELEASE = "2012.05"
BINV = "4.7.1"
FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/gcc-${PV}-${RELEASE}' ], d)}"
SRC_URI = "http://launchpad.net/gcc-linaro/${BASEPV}/${BASEPV}-${RELEASE}/+download/gcc-${PV}-${RELEASE}.tar.bz2 \
+ file://gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \
+ file://64bithack.patch \
file://optional_libstdc.patch \
file://use-defaults.h-and-t-oe-in-B.patch \
"
diff --git a/recipes-devtools/gcc/gcc-linaro-4.7/64bithack.patch b/recipes-devtools/gcc/gcc-linaro-4.7/64bithack.patch
new file mode 100644
index 00000000..7a4ba4c1
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-linaro-4.7/64bithack.patch
@@ -0,0 +1,27 @@
+This patch causes the GCC to install the libstc++ into lib as opposed to
+lib64 on X86_64 Linux targets. Usually the libstdc++ will be placed in lib64
+during the install step. Because that's where 64bit libs go for linux targets
+according to the FHS. If you don't like this but want to use linux as a target
+you have to patch the toolchain which is what 64bithack.patch attempts to do.
+One solution would be to have a distinctive OE target that doesn't support
+multilib and has 64bit libs under lib. The advantage over the current
+meta/recipes-devtools/gcc/gcc-4.7/64bithack.patch provided by oe-core is that
+multilib upport is entirely disabled and MULTILIB_OSDIRNAMES is empty. This
+prevents a broken toolchain in case --enable-multilib gets used.
+
+Upstream-Status: Inappropriate
+
+Signed-off-by: Ken Werner <ken.werner@linaro.org>
+
+Index: gcc-linaro-4.7-2012.05/gcc/config.gcc
+===================================================================
+--- gcc-linaro-4.7-2012.05.orig/gcc/config.gcc
++++ gcc-linaro-4.7-2012.05/gcc/config.gcc
+@@ -1303,7 +1303,6 @@ x86_64-*-linux* | x86_64-*-kfreebsd*-gnu
+ tm_file="${tm_file} knetbsd-gnu.h"
+ ;;
+ esac
+- tmake_file="${tmake_file} i386/t-linux64"
+ x86_multilibs="${with_multilib_list}"
+ if test "$x86_multilibs" = "default"; then
+ x86_multilibs="m64,m32"
diff --git a/recipes-devtools/gcc/gcc-linaro-4.7/gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch b/recipes-devtools/gcc/gcc-linaro-4.7/gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
new file mode 100644
index 00000000..964c4bbb
--- /dev/null
+++ b/recipes-devtools/gcc/gcc-linaro-4.7/gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
@@ -0,0 +1,33 @@
+Upstream-Status: Inappropriate [embedded specific]
+
+---
+ configure | 2 +-
+ configure.ac | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+Index: gcc-4_7-branch/configure.ac
+===================================================================
+--- gcc-4_7-branch.orig/configure.ac 2012-04-10 10:19:50.923337154 -0700
++++ gcc-4_7-branch/configure.ac 2012-04-10 10:19:54.911337344 -0700
+@@ -2825,7 +2825,7 @@
+ # for target_alias and gcc doesn't manage it consistently.
+ target_configargs="--cache-file=./config.cache ${target_configargs}"
+
+-FLAGS_FOR_TARGET=
++FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET"
+ case " $target_configdirs " in
+ *" newlib "*)
+ case " $target_configargs " in
+Index: gcc-4_7-branch/configure
+===================================================================
+--- gcc-4_7-branch.orig/configure 2012-04-10 10:19:50.911337153 -0700
++++ gcc-4_7-branch/configure 2012-04-10 10:19:54.915337349 -0700
+@@ -7368,7 +7368,7 @@
+ # for target_alias and gcc doesn't manage it consistently.
+ target_configargs="--cache-file=./config.cache ${target_configargs}"
+
+-FLAGS_FOR_TARGET=
++FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET"
+ case " $target_configdirs " in
+ *" newlib "*)
+ case " $target_configargs " in