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
This commit is contained in:
Richard Purdie 2006-09-16 14:05:04 +00:00
parent 3ea4918a0a
commit 0eadb89687
2 changed files with 78 additions and 3 deletions

View File

@ -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 */

View File

@ -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}"