www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/07/30/23:00:27

From: "Ian T. Zimmerman" <itz AT crl DOT com>
Subject: Re: Turbo stuff incompatibility?
Date: Sat, 30 Jul 1994 18:17:46 -0700 (PDT)
Cc: djgpp AT sun DOT soe DOT clarkson DOT edu

In my message I (Ian T. Zimmerman) write:
> 
> Hi everybody.
> 
> Long, long ago (at least 2 months now) I decided I wanted to tweak GO32 
> to do some decent command line processing for me (not just the dumb sort 
> done by the Borland startup code). So I went (electronically) and bought 
> Turbo C++ 3.0 and then Turbo Assembler 4.0 both for bargain prices. 
> 
> First I built GO32 using the linker that comes with Turbo C++, which is 
> version 5. It built fine but then Turbo Debugger (comes with the 
> assembler, version 4) refused to load the program, complaining about 
> wrong linker version.
> 
> Somewhat surprised (after all, a _newer_ debugger should understand 
> _older_ symbol info?!) but still fearless I switched to the linker 
> included with TASM, which is version 6. The first glitch appeared when I 
> tried to use TCC to run the linker: a message 'Unhandled exception 000D' 
> followed by the D"OS" patented automatic reboot. Well, said I, no problem 
> - just some unfounded expectations about DPMI probably. Run TLINK by 
> hand, and got message like 'Bad object record from EVENT.C at or near 0x780'.
> 
Well, I solved it - sort of - but the solution is even more mind-boggling 
than the problem. The linker chokes on a particular type of object file 
record (COMENT, Public Symbol Matched Type) that seems to be generated by 
TCC only if BOTH of the following is true:

1/ symbol debugging info has been requested (-v or -y)
2/ inline assembly has been indicated (-B or #pragma inline).

Simply removing the `#pragma inline ' from event.c, graphics.c and xms.c 
makes the problem go away (with an insignificant loss of time, since the 
compiler is presumably restarted once the line with inline assembly is seen).

WHAT THE HELL??

Ian T Zimmerman            +-------------------------------------------+
P.O. Box 13445             I    With so many executioners available,   I
Berkeley, California 94712 I suicide is a really foolish thing to do.  I
USA                        +-------------------------------------------+


- Raw text -


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