packages/gcc gcc-4.1.1: fix eabi issues on a bigendian toolchain:
authorDirk Opfer <dirk@opfer-online.de>
Thu, 1 Mar 2007 15:31:56 +0000 (15:31 +0000)
committerDirk Opfer <dirk@opfer-online.de>
Thu, 1 Mar 2007 15:31:56 +0000 (15:31 +0000)
set SUBTARGET_EXTRA_LINK_SPEC to -m armelfb_linux_eabi in case of
bigendian

packages/gcc/gcc-4.1.1/801-arm-bigendian-eabi.patch [new file with mode: 0644]
packages/gcc/gcc-cross_4.1.1.bb
packages/gcc/gcc_4.1.1.bb

diff --git a/packages/gcc/gcc-4.1.1/801-arm-bigendian-eabi.patch b/packages/gcc/gcc-4.1.1/801-arm-bigendian-eabi.patch
new file mode 100644 (file)
index 0000000..54490fc
--- /dev/null
@@ -0,0 +1,14 @@
+Index: gcc-4.1.1/gcc/config/arm/linux-eabi.h
+===================================================================
+--- gcc-4.1.1.orig/gcc/config/arm/linux-eabi.h 2007-02-20 14:51:33.416193250 +0100
++++ gcc-4.1.1/gcc/config/arm/linux-eabi.h      2007-02-20 14:52:11.622581000 +0100
+@@ -48,7 +48,8 @@
+ #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi
+ #undef SUBTARGET_EXTRA_LINK_SPEC
+-#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux_eabi"
++#define SUBTARGET_EXTRA_LINK_SPEC \
++    " %{mbig-endian:-m armelfb_linux_eabi} %{mlittle-endian:-m armelf_linux_eabi} "
+ /* Use ld-linux.so.3 so that it will be possible to run "classic"
+    GNU/Linux binaries on an EABI system.  */
index f69ab5c..42e9d15 100644 (file)
@@ -5,7 +5,7 @@ inherit cross
 FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
 # NOTE: split PR.  If the main .oe changes something that affects its *build*
 # remember to increment this one too.
-PR = "r10"
+PR = "r11"
 
 DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc gmp-native mpfr-native"
 PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
index 48827cc..104a8ab 100644 (file)
@@ -1,4 +1,4 @@
-PR = "r9"
+PR = "r10"
 DESCRIPTION = "The GNU cc and gcc C compilers."
 HOMEPAGE = "http://www.gnu.org/software/gcc/"
 SECTION = "devel"
@@ -20,6 +20,7 @@ SRC_URI = "http://ftp.gnu.org/pub/gnu/gcc/gcc-4.1.1/gcc-4.1.1.tar.bz2 \
        file://602-sdk-libstdc++-includes.patch;patch=1 \
        file://740-sh-pr24836.patch;patch=1 \
        file://800-arm-bigendian.patch;patch=1 \
+       file://801-arm-bigendian-eabi.patch;patch=1 \
        file://arm-nolibfloat.patch;patch=1 \
        file://arm-softfloat.patch;patch=1 \
        file://gcc41-configure.in.patch;patch=1 \