[net.micro.amiga] Aztec make, cc, fexec, problems, #asm behavior, input handlers, ...

jimm@amiga.UUCP (Jim Mackraz) (05/10/86)

I have been recently using Aztec C environment on a standalone amiga
running 1.2beta1.  I haven't had the opportunity to trace this back
to 1.1 and so on, since my environment set-up depends on the PATH command.
(oops, did I let the cat out of the ...?)
	
What is the most likely problem with the Aztec tools failing their
exec (fexec)?
make can't spawn off commands, and cc can't spawn off 'as.'  The error,
gotten via 'make,' is "FATAL error: EXEC failure."

Another oddity I found during this same work is that even under #asm,
some processing is done: I reference a global variable, and it comes
out as an offset off of a4.  This is done by the assembler/linker,
since my C symbol still appears in the assembly output file.  I guess this
is pretty kosher, but it confused me, since my assembler portion was
running as an input handler, and a4 wasn't set up for me.
I had to wack to discover how this global actually ended up being referenced.

The solution, which isn't shown in the examples, is to set the is_Data
field in the Interrupt structure when setting up an input handler. 
Set it to the address of some structure or list containing all of the
"static" data you want your handler to be able to access.

This address will be passed in A1 to your input handler interface routine,
which then pushes A1 (along with A0) before calling your C handler.  
Your C handler is thereby passed a pointer to your data area,
and if you use this and don't refer to any global symbols in your handler,
you are OK.

If you have some insight into the problems with fexec I am having, or
want more info on the input handler stuff, please write directly,
I am getting a little net.lazy since my .newsrc got smashed somehow.

	{hplabs,decwrl,...}!pyramid!amiga!jimm