Date: Fri, 24 Aug 2001 00:42:26 -0700 (PDT) From: Will Robinson To: Tim Van Holder cc: Subject: Re: linux->dos cross-compiler In-Reply-To: <3B85FEBA.9E2ECF7B@falconsoft.be> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > > Looks like the compiler is generating bogus assembler. > > Yup. Actually, I can't currently get this far, as binutils 2.11 had a > serious bug with DJGPP (an assertion failure in the assembler). That's > probably why I didn't build any of the libs. Just FYI, I found that the offending assembler line is: .def __vptr$__basic_file; .val 0; .scl 8; .type 01124; .endef (I compressed some excess whitespace there). My assembler knowledge is pretty shallow, so that line is Greek to me. Just trying to provide all the information I can... > However, the compiles _should_ work, I think. Try running > > echo >foo.c > stage1/xgcc -Bstage1/ -B/opt/djgpp/i586-pc-msdosdjgpp/bin/ -v -c foo.c Looks like it's indeed confused about header locations, but should be easy to fix(?)... Result: [wsr23 AT dhcp-197-222 gcc]$ stage1/xgcc -Bstage1/ -B/opt/djgpp/i586-pc-msdosdjgpp/bin/ -v -c foo.c Reading specs from stage1/specs Configured with: ../configure --prefix=/opt/djgpp --target=i586-pc-msdosdjgpp Thread model: single gcc version 3.0.1 stage1/cc1 -lang-c -v -iprefix stage1/../lib/gcc-lib/i586-pc-msdosdjgpp/3.0.1/ -isystem include -isystem stage1/include -isystem /opt/djgpp/i586-pc-msdosdjgpp/bin/include -D__GNUC__=3 -D__GNUC_MINOR__=0 -D__GNUC_PATCHLEVEL__=1 -D__MSDOS__ -D__GO32__ -D__MSDOS__ -D__GO32__ -Asystem=msdos -D__NO_INLINE__ -D__STDC_HOSTED__=1 -remap -Acpu=i386 -Amachine=i386 -Di386 -D__i386 -D__i386__ -D__tune_i586__ -D__tune_pentium__ -DMSDOS -DGO32 -imacros /opt/djgpp/i586-pc-msdosdjgpp/bin/../include/sys/version.h foo.c -quiet -dumpbase foo.c -version -o /tmp/ccoAMLMy.s ignoring nonexistent directory "stage1/include" ignoring nonexistent directory "/opt/djgpp/i586-pc-msdosdjgpp/bin/include" GNU CPP version 3.0.1 (cpplib) (80386, BSD syntax) GNU C version 3.0.1 (i586-pc-msdosdjgpp) compiled by GNU C version 2.96 20000731 (Linux-Mandrake 8.0 2.96-0.48mdk). ignoring nonexistent directory "lib/gcc-lib/i586-pc-msdosdjgpp/3.0.1/include" ignoring nonexistent directory "lib/gcc-lib/i586-pc-msdosdjgpp/3.0.1/../../../../i586-pc-msdosdjgpp/sys-include" ignoring nonexistent directory "lib/gcc-lib/i586-pc-msdosdjgpp/3.0.1/../../../../i586-pc-msdosdjgpp/include" ignoring nonexistent directory "/opt/djgpp/lib/gcc-lib/i586-pc-msdosdjgpp/3.0.1/include" ignoring nonexistent directory "/opt/djgpp/lib/gcc-lib/i586-pc-msdosdjgpp/3.0.1/../../../../i586-pc-msdosdjgpp/sys-include" ignoring nonexistent directory "/opt/djgpp/lib/gcc-lib/i586-pc-msdosdjgpp/3.0.1/../../../../i586-pc-msdosdjgpp/include" #include "..." search starts here: #include <...> search starts here: include End of search list. /opt/djgpp/i586-pc-msdosdjgpp/bin/as -o foo.o /tmp/ccoAMLMy.s //--------------// Thanks again, Will Robinson