From: Andrew Newsgroups: comp.os.msdos.djgpp Subject: Re: SIGILL 386 (illegal opcode) Date: Thu, 01 May 2003 21:31:39 +1000 Organization: ECLiPSE Lines: 78 Message-ID: References: <3eb08a5a$0$79355$cc7c7865 AT news DOT luth DOT se> NNTP-Posting-Host: p162-tnt8.syd.ihug.com.au Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: lust.ihug.co.nz 1051788709 22682 203.173.147.162 (1 May 2003 11:31:49 GMT) X-Complaints-To: abuse AT ihug DOT co DOT nz NNTP-Posting-Date: Thu, 1 May 2003 11:31:49 +0000 (UTC) X-Newsreader: Forte Agent 1.92/32.572 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com ..SNIP.. >My project works fine with 386 CPU, if it compiles by DJGPP gpp 2.952. >I have just recompiled my project by DJGPP gpp 3.2.2 >(with -m386 option enabled) and program has failed only on 386 PC. >I deeply use STL. Was libstdxx.a library compiled for 386 CPU? The GCC 3.2.2 target default is:- target=i586-pc-msdosdjgpp >How can I rebuild libstdxx.a? If you download the GCC322S.ZIP and follw the directions in the readme.djgpp file in the gnu\gcc-3.22 directory. In the gcc\buiild.gcc directory modify the djmake.sh to change the target to the following before you do any builds:- target=i386-pc-msdosdjgpp You may also need to re-build the binutils as well, but I would start with GCC first and see what happens. This should take about 70-90 minutes on a P4 2Ghz and about 3-4 hours or more on a Celleron 800. If you need any help with this then send me an email and I will try to help out as much as I can. Here is a complex batch file that I used to build and install the GCC 3.2.2 compiler. This is setup for rebuilding so it does a very thorough job of cleaning the directories which may not be required for your build:- set DJDRIVE=D set DJDIRECTORY=DJ204 set DJGPP_ROOT=%DJDRIVE%:\%DJDIRECTORY% cd %DJGPP_ROOT%\GNU\install.gcc rm -rf *.zip rm -rf *.mft rm -rf bin rm -rf lib rm -rf include rm -rf info rm -rf man rm -rf lang rm -rf gnu rm -rf manifest cd %DJGPP_ROOT%\GNU\build.gcc rm -rf gcc rm -rf i586-pc-msdosdjgpp rm -rf libiberty rm config.cache rm config.status rm mh-frag rm makefile sh djconfig.sh cd %DJGPP_ROOT%\GNU\build.gcc sh djmake.sh bootstrap :startme cd %DJGPP_ROOT%\GNU\build.gcc sh djmake.sh -C gcc gnatlib_and_tools cd %DJGPP_ROOT%\GNU\build.gcc sh djinsttmp.sh cd %DJGPP_ROOT%\GNU\install.gcc sh makepkg.sh cd %DJGPP_ROOT% if exist %DJGPP_ROOT%\gnu\install.gcc\gcc*b.zip unzip32 -o -qq %DJGPP_ROOT%\gnu\install.gcc\gcc*b.zip if exist %DJGPP_ROOT%\gnu\install.gcc\gpp*b.zip unzip32 -o -qq %DJGPP_ROOT%\gnu\install.gcc\gpp*b.zip if exist %DJGPP_ROOT%\gnu\install.gcc\g77*b.zip unzip32 -o -qq %DJGPP_ROOT%\gnu\install.gcc\g77*b.zip if exist %DJGPP_ROOT%\gnu\install.gcc\objc*b.zip unzip32 -o -qq %DJGPP_ROOT%\gnu\install.gcc\objc*b.zip if exist %DJGPP_ROOT%\gnu\install.gcc\ada*b.zip unzip32 -o -qq %DJGPP_ROOT%\gnu\install.gcc\ada*b.zip >My problem seems to be similar to which I have found in >comp.os.msdos.djgpp archive on www.google.com. ..SNIP... Andrew