X-Trace-PostClient-IP: 68.147.131.211 From: Brian Inglis Newsgroups: comp.os.msdos.djgpp Subject: Re: SIGILL 386 (illegal opcode) Organization: Systematic Software Message-ID: <9rd4bvg7og892lbmhs2ui14bletapqs147@4ax.com> References: <3eb08a5a$0$79355$cc7c7865 AT news DOT luth DOT se> X-Newsreader: Forte Agent 1.93/32.576 English (American) MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Lines: 42 Date: Fri, 02 May 2003 09:24:56 GMT NNTP-Posting-Host: 24.71.223.147 X-Complaints-To: abuse AT shaw DOT ca X-Trace: news1.calgary.shaw.ca 1051867496 24.71.223.147 (Fri, 02 May 2003 03:24:56 MDT) NNTP-Posting-Date: Fri, 02 May 2003 03:24:56 MDT To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com On Thu, 1 May 2003 14:29:32 +0500 in comp.os.msdos.djgpp, "Alexei K." wrote: >"Martin Str|mberg" сообщил/сообщила в новостях следующее: >news:3eb08a5a$0$79355$cc7c7865 AT news DOT luth DOT se... >> If you get SIGILL we want more information. Like what program and >> source? Command line? Result? > >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? >How can I rebuild libstdxx.a? >My problem seems to be similar to which I have found in >comp.os.msdos.djgpp archive on www.google.com. [snip] >I have not found the solution of the problem shown above. >So, What is the solution? Try -march=i386 -mfpmath=387 as typing: info gcc Invoking Submodel i386 shows: `-mcpu=CPU-TYPE' Tune to CPU-TYPE everything applicable about the generated code, except for the ABI and the set of available instructions. ... While picking a specific CPU-TYPE will schedule things appropriately for that particular chip, the compiler will not generate any code that does not run on the i386 without the `-march=CPU-TYPE' option being used. So -mcpu is a tuning option that does not restrict the instruction set, while -march is a restrictive option, and -march=x also implies -mcpu=x. Thanks. Take care, Brian Inglis Calgary, Alberta, Canada -- Brian DOT Inglis AT CSi DOT com (Brian dot Inglis at SystematicSw dot ab dot ca) fake address use address above to reply