delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/09/09/23:50:54

Message-Id: <199909100328.LAA11335@westgate.cyberway.com.sg>
From: "Rob Kramer" <robk AT cyberway DOT com DOT sg>
To: djgpp AT delorie DOT com
Date: Fri, 10 Sep 1999 11:27:19 +0800
MIME-Version: 1.0
Subject: Re: GCC 2.95 global string crashes on 386..
References: <199909090422 DOT MAA24404 AT eastgate DOT cyberway DOT com DOT sg>
In-reply-to: <B0000101000@stargate.astr.lu.lv>
X-mailer: Pegasus Mail for Win32 (v3.01b)
Reply-To: djgpp AT delorie DOT com

I've disassembled the executable, and it seems the compiler issues a locked 
'xaddl' instruction. I couldn't find opcode 'c1' in my 386 reference manual, 
so this may be a 486++ instruction?   (I can't find anything but Intel's 386 
manual online, sigh)

    2052:	f0 0f c1 02    	lock xaddl %eax,(%edx)

> Confirmed with DJGPP ports of egcs-1.1.2 and gcc-2.95.1 (I don't more 
> gcc-2.95 installed, but that doesn't matter). 2 possible cures:
>  - currently use option '-march=i386' on 386, it should help

I tried that already, to no avail.. Tried again, and the compiler outputs the 
same 'xaddl' at a slighty different location (other parts of the code are 
different)

>  - in future: I must rebuild gcc-2.95.1 for target i386-pc-msdosdjgpp

Hmm. How come that in thousands of lines of code, the compiler only fails in 
a global string definition..

Thanks!

	Rob Kramer
	robk AT cyberway DOT com DOT sg

- Raw text -


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