[comp.sys.amiga.tech] Lattice Compilation under ARP vs. AmigaDOS

cfchiesa@bsu-cs.UUCP (Christopher Chiesa) (09/09/88)

Tried to post the following on 28 August, but have received no indication 
that it ever got off this site -- not ONE followup nor E-mail response.  For-
give me if you saw this before, but you should have said something.  

------

Hi gang...

   Well, I've finally figured out what the problem has been all this time I've
been having trouble with Lattice C (v3.03).  Namely, compiling-and-linking 
under ARP produces binaries that work ONLY under AmigaDOS, and NOT under ARP!
Compiling-and-linking under AmigaDOS, on the other hand, produces binaries
that work under BOTH AmigaDOS AND ARP.

   Ideally, one would want compiled programs to work properly under BOTH 
AmigaDOS and ARP, but I would have expected that if there were any incompati-
bility, it would have been that a program would work ONLY in the environment
in which it was compiled -- NOT the OTHER way around as I am observing!
 
   I figure this has either already been beaten to death and I missed it, 
being a relatively new reader of this group, OR this is big news and will
spark a lively controversy.

   I'm looking forward to the commentary on this one.

   Chris Chiesa

-- 
UUCP: <backbones>!{iuvax,pur-ee,uunet}!bsu-cs!cfchiesa 
cfchiesa@bsu-cs.UUCP                                           

riley@batcomputer.tn.cornell.edu (Daniel S. Riley) (09/09/88)

In article <3885@bsu-cs.UUCP> cfchiesa@bsu-cs.UUCP (Christopher Chiesa) writes:
>   Well, I've finally figured out what the problem has been all this time I've
>been having trouble with Lattice C (v3.03).  Namely, compiling-and-linking 
>under ARP produces binaries that work ONLY under AmigaDOS, and NOT under ARP!
>Compiling-and-linking under AmigaDOS, on the other hand, produces binaries
>that work under BOTH AmigaDOS AND ARP.

The ARP startup routine does a fair bit of stuff that ARP expects to work,
that is quite dependent on the compiler version.  In particular, the tags
ARP examines for the resident stuff assumes some features of Lattice
4.00 or later that simply aren't there in 3.10 or 3.03.  What I would
guess is happening is that ARP sees that tag, and then assume that your
program supports some ARP features that it actually doesn't, because
you aren't using it with the supported version of the compiler.

It should be possible to adapt the startup code back to Lattice 3.10;
3.03 support would be hard.

I believe (but can't check at the moment) that the documentation clearly
specifies the compiler versions that the startup code is written for.

-dan riley (dsr@lns61.tn.cornell.edu, dsr@crnlns.bitnet)
-wilson lab, cornell u.

paleo@ecsvax.uncecs.edu (Dr. Constantine A. LaPasha) (09/16/88)

I'm running my Lattice C environment while under ARP and the few
(admittedly very simple) programs I've compiled seem to run OK
under ARP.  
 BTW- how can I determine what version (release?) of the ARP
library I've got?
-- 
Kostya LaPasha        paleo@uncecs.edu   or   paleo@ecsvax.uncecs.edu
- comments, opinions, etc. are mine NOT those of NCSU -