From: Adrian Cox Newsgroups: comp.os.msdos.djgpp Subject: Re: linux to msdos cross compiler Date: Thu, 04 Mar 1999 11:08:41 +0000 Message-ID: <36DE69B9.67BEBD80@transtech-design.com> References: <36DD73A4 DOT 9A094239 AT transtech-design DOT com> NNTP-Posting-Host: agsite2.demon.co.uk X-NNTP-Posting-Host: agsite2.demon.co.uk:212.229.103.106 X-Trace: news.demon.co.uk 920607062 nnrp-12:21708 NO-IDENT agsite2.demon.co.uk:212.229.103.106 X-Complaints-To: abuse AT demon DOT net X-Mailer: Mozilla 4.5 [en] (X11; I; Linux 2.0.36 i686) X-Accept-Language: en MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Lines: 34 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Adrian Cox wrote: > I'm trying to follow the new howto: > http://www.delorie.com/howto/djgpp/linux-x-djgpp.html > $ ld/ld-new -V > GNU ld version 2.9.1 (with BFD 2.9.1) > Supported emulations: > i386go32 > ld/ld-new:built in linker script:24: parse error > Has anybody seen anything like this, and if so, have they solved it? Am > I just running the wrong version of Linux? OK - I now have the cure. The i586-pc-msdosdjgpp target can only work with the linker script supplied with djgpp. This linker script is called by the djgpp specs file. But: The build process of gcc-2.8.1 does not know that it needs to use that specs file to build libgcc1-test, and will thus fail. One solution is to disable the building of libgcc1-test in gcc/Makefile after you configure: # Verify that it works to compile and link libgcc1-test. # If it does, then there are sufficient replacements for libgcc1.a. libgcc1-test: libgcc1-test.o native $(GCC_PARTS) @echo "Testing libgcc1. Ignore linker warning messages." # $(GCC_FOR_TARGET) $(GCC_CFLAGS) libgcc1-test.o -o libgcc1-test \ # -nostartfiles -nostdlib `$(GCC_FOR_TARGET) --print-libgcc-file-name` touch libgcc1-test There could be a better solution based on patching the gcc-2.8.1 package before configuring, but this little hack works enough for me. - Adrian Cox