From 0eadb89687b68244df3dd4a74d32a4e6b492cd53 Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard@openedhand.com>
Date: Sat, 16 Sep 2006 14:05:04 +0000
Subject: 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 ++++++++++++++++++++++
 meta/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

(limited to 'meta')

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 000000000..26e5a1211
--- /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 2b2996abe..43ac3db2a 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 <gbritton@doomcom.org>"
-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}"
 
-- 
cgit v1.2.3