Date: Thu, 9 Sep 1999 13:48:07 +0200 (IST) From: Eli Zaretskii X-Sender: eliz AT is To: Rob Kramer cc: djgpp AT delorie DOT com Subject: Re: GCC 2.95 global string crashes on 386.. In-Reply-To: <199909090422.MAA24404@eastgate.cyberway.com.sg> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Thu, 9 Sep 1999, Rob Kramer wrote: > Compiled with 'gpp -o test.exe test.cc' (gcc 2.95, bnu 291), this crashes: ^^^^^^^ Did you patch the official Binutils 2.9.1 sources in any way? If so, please tell what did you change and how. Also, is your GCC one of the beta releases, or the one from v2gnu directory on SimTel? > The test works fine on 486++. The same executable crashes on 386 but works on 486 and better? If so, it seems like GCC emitted some instruction unsupported by 386. Try experimenting with GCC switches that determine the architecture of the target machine (-march etc.) > Static member-strings won't work either. I > tried to figure out what the SIGILL-invalid opcode was all about, but my fsdb > keeps crashing on my old 386 if I get near the offending part (haven't got full > DJGPP install there). You got the address of the offending instruction: that's the EIP printed at the beginning of the crash dump. Simply use objdump to disassemble the .exe file near that address.