Date: Wed, 1 Jan 1997 08:20:35 +0200 (IST) From: Eli Zaretskii To: Stuart Ebling cc: djgpp AT delorie DOT com Subject: Re: Linking DJGPP v2.0 compiled libraries with v2.01 built executables In-Reply-To: <32c97c3e.9165938@nntp.premiernet.net> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII On Tue, 31 Dec 1996, Stuart Ebling wrote: > The question I have is, should I anticipate any problems mixing an > object module compiled with DJ 2.0 with an executable built using the > DJ 2.01 'suite'. I don't understand how an object file can be mixed with an executable program, so I cannot really answer your precise question. However, in general it's a bad idea to mix any components of v2.0 with any other components from v2.01. Most of the combinations will work most of the time, but produce subtle, difficult-to-debug bugs in some rare cases. If you don't mind living dangerously, you can leave things as they are now and upgrade when Gnat gets upgraded to v2.01. Here's a list of a few things that might make trouble: 1) Mixing objects/libraries compiled by different versions in a single executable. This is an absolute no-no, because some functions defined by both versions have different parameters/return values, so you get bugs, crashes etc. 2) Calling v2.0 programs from v2.01 programs (like when the compilation driver calls the passes of the compiler/assembler/linker). This will fail for some (but not all) long command lines, or when wildcards are passed to the subsidiary programs. 3) LFN handling (if you work on Windows 95) is different, v2.0 programs might sometimes fail to support them. Bottom line: upgrade Gnat to v2.01 as fast as you can.