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