Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!seismo!lll-crg!ames!ucbcad!ucbvax!decvax!tektronix!tekgen!tekigm!phils
From: phils@tekigm.UUCP (Phil Staub)
Newsgroups: comp.sys.amiga
Subject: Manx Aztec C under WorkBench release 1.2
Message-ID: <1072@tekigm.UUCP>
Date: Mon, 15-Dec-86 21:20:18 EST
Article-I.D.: tekigm.1072
Posted: Mon Dec 15 21:20:18 1986
Date-Received: Wed, 17-Dec-86 04:25:29 EST
Organization: Tektronix Inc., Beaverton, Or.
Lines: 66
Keywords: patches


<><><><><><><><><><><><><><><>

Latest update on what I've found out about the patches to 3.20a.

It appears that 3 routines actually are affected by the changes from WB
1.1 to 1.2:

	fexcev.c
	execv.c
	execvp.c

In all cases, the code which is generated is a sequence of 

D6BC 0000 01AC (disassembled, this is "ADD.L #000001AC,D3")

which needs to be converted to 

D6BC 0000 01A8 (disassembled, this is "ADD.L #000001A8,D3")

If you have the library sources, the responsible code is generated by a
really gory looking piece of code which begins with a string of (long *)
casts and ends with the value '107'. (Do a grep on sysio.arc and you should
find three such offending lines).

Make apparently uses two of the above three routines, hence there are two
addresses to patch in the patch program posted to the net.

Now, regarding a problem I was having with the makefile for Egad. I
was attempting to get EGad compiled, and make crashed the machine. 
Being naive enough not to believe that Manx would ship with that kind of an 
obvious flaw in "make", I did some experimenting. What I found was truly 
enlightening.

One of the makefile targets is a pre-compiled symbol table file generated by
running cc with the +h switch on a .h file which contains all of the include
files ever requested by any of the other modules. The command line looked
like this:

gt.dmp:
	cc +hgt.dmp -a +D +l head.h

where head.h contained a #include line for each include file used.

Typing "make gt.dmp" caused the Amiga to hang when everything was complete.
So I got rid of a few options. First the -a. Still crashed. Then the +D and 
+l. Still no luck. So I edited head.h and got rid of all but one include, 
in the event that the problem was being caused by something in one of the 
include files. Nope. Then I changed the name of head.h to head.c, updated the 
Makefile, and re-ran it. Eureka! apparently, the .h extension was somehow 
crashing make! 

I don't know if this will do anyone any good, but I thought I'd pass it 
along, for what it's worth.



-------------------------------------------------------------------------------
Phil Staub              tektronix!tekigm!phils    (206) 253-5634
Tektronix, Inc., ISI Engineering
P.O.Box 3500, M/S C1-904, Vancouver, Washington  98668
-- 
-------------------------------------------------------------------------------
Phil Staub              tektronix!tekigm!phils    (206) 253-5634
Tektronix, Inc., ISI Engineering
P.O.Box 3500, M/S C1-904, Vancouver, Washington  98668