From 0eadb89687b68244df3dd4a74d32a4e6b492cd53 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Sat, 16 Sep 2006 14:05:04 +0000 Subject: [PATCH] binutils-2.15: Add update from OE to allow correct operation with gcc 4.x (requested by zecke) git-svn-id: https://svn.o-hand.com/repos/poky/trunk@721 311d38ba-8fff-0310-9ca6-ca027cbcb966 --- .../binutils-2.15-allow-gcc-4.0.patch | 75 +++++++++++++++++++ .../packages/binutils/binutils_2.15.94.0.1.bb | 6 +- 2 files changed, 78 insertions(+), 3 deletions(-) create mode 100644 meta/packages/binutils/binutils-2.15.94.0.1/binutils-2.15-allow-gcc-4.0.patch diff --git a/meta/packages/binutils/binutils-2.15.94.0.1/binutils-2.15-allow-gcc-4.0.patch b/meta/packages/binutils/binutils-2.15.94.0.1/binutils-2.15-allow-gcc-4.0.patch new file mode 100644 index 0000000000..26e5a12116 --- /dev/null +++ b/meta/packages/binutils/binutils-2.15.94.0.1/binutils-2.15-allow-gcc-4.0.patch @@ -0,0 +1,75 @@ +Fix found here: http://www.freelists.org/archives/openbeos/11-2005/msg00090.html + +Fixes: +In file included from ./targ-cpu.h:1, + from /home/dank/crosstool-new/build/i686-unknown-linux-gnu/gcc-2.95.3-glibc-2.2.2/binutils-2.15/gas/config/obj-elf.h:42, + from ./obj-format.h:1, + from /home/dank/crosstool-new/build/i686-unknown-linux-gnu/gcc-2.95.3-glibc-2.2.2/binutils-2.15/gas/config/te-linux.h:4, + from ./targ-env.h:1, + from /home/dank/crosstool-new/build/i686-unknown-linux-gnu/gcc-2.95.3-glibc-2.2.2/binutils-2.15/gas/as.h:626, + from /home/dank/crosstool-new/build/i686-unknown-linux-gnu/gcc-2.95.3-glibc-2.2.2/binutils-2.15/gas/app.c:30: +/home/dank/crosstool-new/build/i686-unknown-linux-gnu/gcc-2.95.3-glibc-2.2.2/binutils-2.15/gas/config/tc-i386.h:451: error: array type has incomplete element type +make[3]: *** [app.o] Error 1 +make[3]: Leaving directory `/home/dank/crosstool-new/build/i686-unknown-linux-gnu/gcc-2.95.3-glibc-2.2.2/build-binutils/gas' + +when building binutils-2.15 with gcc-4.0 + + +diff -ur binutils-2.15.old/gas/as.h binutils-2.15/gas/as.h +--- binutils-2.15.old/gas/as.h 2003-11-22 18:14:21.000000000 -0800 ++++ binutils-2.15/gas/as.h 2006-02-14 22:05:35.000000000 -0800 +@@ -605,7 +605,26 @@ + struct expressionS; + struct fix; + typedef struct symbol symbolS; +-struct relax_type; ++ ++/* JF moved this here from as.h under the theory that nobody except MACHINE.c ++ and write.c care about it anyway. */ ++/* [zooey]: the above no longer holds with gcc4, as it keeps bugging about ++ incomplete element types in arrays, if relax_type isn't defined ++ here. So I moved the definition back from tc.h to here. */ ++struct relax_type ++{ ++ /* Forward reach. Signed number. > 0. */ ++ long rlx_forward; ++ /* Backward reach. Signed number. < 0. */ ++ long rlx_backward; ++ ++ /* Bytes length of this address. */ ++ unsigned char rlx_length; ++ ++ /* Next longer relax-state. 0 means there is no 'next' relax-state. */ ++ relax_substateT rlx_more; ++}; ++ + typedef struct frag fragS; + + #ifdef BFD_ASSEMBLER +diff -ur binutils-2.15.old/gas/tc.h binutils-2.15/gas/tc.h +--- binutils-2.15.old/gas/tc.h 2003-12-03 15:39:38.000000000 -0800 ++++ binutils-2.15/gas/tc.h 2006-02-14 22:03:35.000000000 -0800 +@@ -24,23 +24,6 @@ + + extern const pseudo_typeS md_pseudo_table[]; + +-/* JF moved this here from as.h under the theory that nobody except MACHINE.c +- and write.c care about it anyway. */ +- +-struct relax_type +-{ +- /* Forward reach. Signed number. > 0. */ +- long rlx_forward; +- /* Backward reach. Signed number. < 0. */ +- long rlx_backward; +- +- /* Bytes length of this address. */ +- unsigned char rlx_length; +- +- /* Next longer relax-state. 0 means there is no 'next' relax-state. */ +- relax_substateT rlx_more; +-}; +- + typedef struct relax_type relax_typeS; + + extern const int md_reloc_size; /* Size of a relocation record */ diff --git a/meta/packages/binutils/binutils_2.15.94.0.1.bb b/meta/packages/binutils/binutils_2.15.94.0.1.bb index 2b2996abe6..43ac3db2ae 100644 --- a/meta/packages/binutils/binutils_2.15.94.0.1.bb +++ b/meta/packages/binutils/binutils_2.15.94.0.1.bb @@ -3,7 +3,7 @@ HOMEPAGE = "http://www.gnu.org/software/binutils/" SECTION = "devel" LICENSE = "GPL" MAINTAINER = "Gerald Britton " -PR = "r2" +PR = "r3" inherit autotools gettext @@ -45,8 +45,8 @@ SRC_URI = \ file://objdump_fix.patch;patch=1 \ file://binutils-100_cflags_for_build.patch;patch=1 \ file://binutils-2.15.91.0.1-uclibc-100-conf.patch;patch=1 \ - file://binutils-2.15.90.0.3-uclibc-200-build_modules.patch;patch=1" - + file://binutils-2.15.90.0.3-uclibc-200-build_modules.patch;patch=1 \ + file://binutils-2.15-allow-gcc-4.0.patch;patch=1" S = "${WORKDIR}/binutils-${PV}" B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"