Robert P. J. DAY says:
apparently, the patchset for gcc 4.2.1 applies properly to the
source for gcc 4.2.2 and gcc 4.2.3. so, if you want, you can simply
add support for those last two just by augmenting menuconfig and
adding a couple symlinks for those two directories. seems like a
cheap way to add a couple new versions.
1 Fix found here: http://www.freelists.org/archives/openbeos/11-2005/msg00090.html
4 In file included from ./targ-cpu.h:1,
5 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,
7 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,
9 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,
10 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:
11 /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
12 make[3]: *** [app.o] Error 1
13 make[3]: Leaving directory `/home/dank/crosstool-new/build/i686-unknown-linux-gnu/gcc-2.95.3-glibc-2.2.2/build-binutils/gas'
15 when building binutils-2.15 with gcc-4.0
18 diff -ur binutils-2.15.old/gas/as.h binutils-2.15/gas/as.h
19 --- binutils-2.15.old/gas/as.h 2003-11-22 18:14:21.000000000 -0800
20 +++ binutils-2.15/gas/as.h 2006-02-14 22:05:35.000000000 -0800
24 typedef struct symbol symbolS;
27 +/* JF moved this here from as.h under the theory that nobody except MACHINE.c
28 + and write.c care about it anyway. */
29 +/* [zooey]: the above no longer holds with gcc4, as it keeps bugging about
30 + incomplete element types in arrays, if relax_type isn't defined
31 + here. So I moved the definition back from tc.h to here. */
34 + /* Forward reach. Signed number. > 0. */
36 + /* Backward reach. Signed number. < 0. */
39 + /* Bytes length of this address. */
40 + unsigned char rlx_length;
42 + /* Next longer relax-state. 0 means there is no 'next' relax-state. */
43 + relax_substateT rlx_more;
46 typedef struct frag fragS;
49 diff -ur binutils-2.15.old/gas/tc.h binutils-2.15/gas/tc.h
50 --- binutils-2.15.old/gas/tc.h 2003-12-03 15:39:38.000000000 -0800
51 +++ binutils-2.15/gas/tc.h 2006-02-14 22:03:35.000000000 -0800
54 extern const pseudo_typeS md_pseudo_table[];
56 -/* JF moved this here from as.h under the theory that nobody except MACHINE.c
57 - and write.c care about it anyway. */
61 - /* Forward reach. Signed number. > 0. */
63 - /* Backward reach. Signed number. < 0. */
66 - /* Bytes length of this address. */
67 - unsigned char rlx_length;
69 - /* Next longer relax-state. 0 means there is no 'next' relax-state. */
70 - relax_substateT rlx_more;
73 typedef struct relax_type relax_typeS;
75 extern const int md_reloc_size; /* Size of a relocation record */