delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2003/05/14/10:30:19

From: "Alexei K." <kzua AT kzua DOT udm DOT ru>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: SIGILL 386 (illegal opcode)
Date: Wed, 14 May 2003 18:46:04 +0500
Organization: Communication Company MARK-ITT
Lines: 33
Message-ID: <b9tirj$q54$1@hq.mark-itt.ru>
References: <b8oqgi$1s2b$1 AT hq DOT mark-itt DOT ru> <3eb08a5a$0$79355$cc7c7865 AT news DOT luth DOT se> <b8qpgj$2tb4$1 AT hq DOT mark-itt DOT ru> <b9gd33$n3c$1 AT antares DOT lu DOT erisoft DOT se> <b9qi83$cgq$1 AT antares DOT lu DOT erisoft DOT se>
NNTP-Posting-Host: d2-236.net.mark-itt.net
Mime-Version: 1.0
X-Trace: hq.mark-itt.ru 1052921523 26788 217.14.194.236 (14 May 2003 14:12:03 GMT)
X-Complaints-To: abuse AT mark-itt DOT ru
NNTP-Posting-Date: Wed, 14 May 2003 14:12:03 +0000 (UTC)
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2720.3000
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

"Martin Stromberg" <eplmst AT lu DOT erisoft DOT se> сообщил/сообщила в новостях следующее:
news:b9qi83$cgq$1 AT antares DOT lu DOT erisoft DOT se...
> Martin Stromberg (eplmst AT lu DOT erisoft DOT se) wrote:
> : If the problem is where Andris has indicated, you don't have to. You
> : just need to correct a header file.
>
> Today I think that won't work as the instruction is compiled into
> libstdxx.a. Sorry.

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."

But really it is not fixed. (may be in 3.2.3?)

I had replaced (as you recommend) atomicity.h for each IA-32 compatible CPU (just in case)
to /generic/atomicity.h. After that I had rebuilded libstdcxx. And now my programs are runing
fine on 386 CPU.

Alexei K.


- Raw text -


  webmaster     delorie software   privacy  
  Copyright ╘ 2019   by DJ Delorie     Updated Jul 2019