From: eplmst AT lu DOT erisoft DOT se (Martin Stromberg) Newsgroups: comp.os.msdos.djgpp Subject: Re: SIGILL 386 (illegal opcode) Date: 14 May 2003 16:13:27 GMT Organization: Ericsson Erisoft AB, Sweden Lines: 27 Message-ID: References: <3eb08a5a$0$79355$cc7c7865 AT news DOT luth DOT se> NNTP-Posting-Host: lws256.lu.erisoft.se X-Newsreader: TIN [version 1.2 PL2] To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Alexei K. (kzua AT kzua DOT udm DOT ru) wrote: : Thanks a lot. As I see it is not problem of DJGPP libstdcxx. : I found in libstdc++-v3 FAQ the following article: : "Threading is broken on i386 : Support for atomic integer operations is/was broken on i386 platforms. : The assembly code accidentally used opcodes that are only available on : the i486 and later. So if you configured GCC to target, for example, : i386-linux, but actually used the programs on an i686, then you would : encounter no problems. Only when actually running the code on a i386 : will the problem appear. : This is fixed in 3.2.2." Well. Yes and no. It's wrong in the header file that should be used (the one for 386). But that won't help as the header file for 486 is used. : But really it is not fixed. (may be in 3.2.3?) (Not yet.) Right, MartinS