Package: mingw32-binutils Version: 2.15.94-20050118.1-1 Severity: normal Tags: patch
When building 'mingw32-binutils' on amd64/unstable with gcc-4.0, I get the following error: make[4]: Leaving directory `/mingw32-binutils-2.15.94-20050118.1/build_dir/objs/gas/po' make[4]: Entering directory `/mingw32-binutils-2.15.94-20050118.1/build_dir/objs/gas' gcc -DHAVE_CONFIG_H -I. -I/mingw32-binutils-2.15.94-20050118.1/build_dir/src/binutils-2.15.94-20050118-1/gas -I. -D_GNU_SOURCE -I. -I/mingw32-binutils-2.15.94-20050118.1/build_dir/src/binutils-2.15.94-20050118-1/gas -I../bfd -I/mingw32-binutils-2.15.94-20050118.1/build_dir/src/binutils-2.15.94-20050118-1/gas/config -I/mingw32-binutils-2.15.94-20050118.1/build_dir/src/binutils-2.15.94-20050118-1/gas/../include -I/mingw32-binutils-2.15.94-20050118.1/build_dir/src/binutils-2.15.94-20050118-1/gas/.. -I/mingw32-binutils-2.15.94-20050118.1/build_dir/src/binutils-2.15.94-20050118-1/gas/../bfd -I/mingw32-binutils-2.15.94-20050118.1/build_dir/src/binutils-2.15.94-20050118-1/gas/../intl -I../intl -DLOCALEDIR="\"/usr/share/locale\"" -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2 -c /mingw32-binutils-2.15.94-20050118.1/build_dir/src/binutils-2.15.94-20050118-1/gas/app.c In file included from ./targ-cpu.h:1, from /mingw32-binutils-2.15.94-20050118.1/build_dir/src/binutils-2.15.94-20050118-1/gas/config/obj-coff.h:38, from ./obj-format.h:1, from /mingw32-binutils-2.15.94-20050118.1/build_dir/src/binutils-2.15.94-20050118-1/gas/config/te-pe.h:7, from ./targ-env.h:1, from /mingw32-binutils-2.15.94-20050118.1/build_dir/src/binutils-2.15.94-20050118-1/gas/as.h:625, from /mingw32-binutils-2.15.94-20050118.1/build_dir/src/binutils-2.15.94-20050118-1/gas/app.c:30: /mingw32-binutils-2.15.94-20050118.1/build_dir/src/binutils-2.15.94-20050118-1/gas/config/tc-i386.h:443: error: array type has incomplete element type make[4]: *** [app.o] Error 1 make[4]: Leaving directory `/mingw32-binutils-2.15.94-20050118.1/build_dir/objs/gas' With the attached patch from upstream the 'mingw32-binutils' can be compiled on amd64 using gcc-4.0. Regards Andreas Jochens diff -urN ../tmp-orig/mingw32-binutils-2.15.94-20050118.1/debian/rules ./debian/rules --- ../tmp-orig/mingw32-binutils-2.15.94-20050118.1/debian/rules 2005-04-05 11:21:22.052172269 +0200 +++ ./debian/rules 2005-04-05 11:14:11.000000000 +0200 @@ -83,6 +83,7 @@ exit 1; \ fi; \ done; + cd $(build_src)/$(binutils); patch -p1 <../../../gcc4-fix.diff touch $@ diff -urN ../tmp-orig/mingw32-binutils-2.15.94-20050118.1/gcc4-fix.diff ./gcc4-fix.diff --- ../tmp-orig/mingw32-binutils-2.15.94-20050118.1/gcc4-fix.diff 1970-01-01 01:00:00.000000000 +0100 +++ ./gcc4-fix.diff 2005-04-05 11:20:56.426976861 +0200 @@ -0,0 +1,52 @@ +diff -urN tmp/gas/tc.h binutils-2.15.94-20050118-1/gas/tc.h +--- tmp/gas/tc.h 2005-04-05 11:14:18.002679000 +0200 ++++ binutils-2.15.94-20050118-1/gas/tc.h 2005-04-05 11:18:51.019490121 +0200 +@@ -27,22 +27,6 @@ + /* 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. */ + + char * md_atof (int, char *, int *); +diff -urN ../tmp-orig/binutils-2.15/gas/as.h ./gas/as.h +--- ../tmp-orig/binutils-2.15/gas/as.h 2003-11-23 03:14:21.000000000 +0100 ++++ ./gas/as.h 2005-04-05 10:22:06.207874813 +0200 +@@ -397,6 +397,22 @@ + /* Enough bits for address, but still an integer type. + Could be a problem, cross-assembling for 64-bit machines. */ + typedef addressT relax_addressT; ++ ++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; + + /* main program "as.c" (command arguments etc) */ + -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]