A3000UX applications

Mike "Ford" Ditto ford at amix.commodore.com
Tue May 14 11:38:15 AEST 1991


Now that the flame fest has died down for a while, I'll try to explain
the issue of ABI compatibility and Amiga Unix.

Amiga Unix is advertised as being ABI compatible.  That is, we
"guarantee" that you can take an ABI compatible binary program and run
it on an Amiga Unix system.  We also provide software development
tools that are intended to create ABI compatible binary programs, and
we actively persue and resolve any complaints or claims of ABI
incompatibility regarding any part of our system.  We have not and
will not intentionally cause Amiga Unix to be incompatible with the
m68k ABI.

At the present time, however, it is somewhat difficult to determine
exactly what is the "official" ABI.  For example, several changes have
been made by Motorola since the "blue book" m68k ABI manual was
published by AT&T/Unix Press.  There are other issues and proposed
changes still being resolved that will almost certainly change the ABI
further.  Because of this fact, we have not yet conducted an
exhaustive study verifying compatibility between Amiga Unix and any
particular revision of the m68k ABI.

We intend to persue the ABI issue with Motorola, USL, and other
parties interested in the m68k ABI.  When the "final" m68k ABI exists,
Amiga Unix will be compatible with it.  Hopefully this will be in time
for our version 2.0.

es1 at cunixb.cc.columbia.edu (Ethan Solomita) writes:
> There is some other problem because AMIX is ABI compliant. 

ajc at root.co.uk (Tony Cleverley) writes:
> I think you are wrong as far as I can see the AMIGA 3000 UX is not compliant, 
> for example:
> 
> The current ABI defines the structure sigaction (see sys/signal.h)
> to be:
> 
> 	struct sigaction {
> 		void (*sa_handler)();
> 		sigset_t sa_mask;
> 		int sa_flags;
> 	}
> 
> yet the AMIGA defines it as:
> 
> 	struct sigaction {
> 		int sa_flags;
> 		void (*sa_handler)();
> 		sigset_t sa_mask;
> 		int sa_resv[2];
> 	}

This particular header file in Amiga Unix comes directly from the
group in Motorola which maintains the official ABI specification.  It
turns out that there was a mistake and that this structure is in fact
incorrect.  This is a significant incompatilibity and essentially
means that Amiga Unix version 1.1 is not able to run most ABI
programs.  It, along with any other known ABI incompatibilities, will
be fixed in a future version of Amiga Unix.

					-=] Ford [=-

"The heart and the mind on		(In Real Life:  Mike Ditto)
 a parallel course, never		ford at amix.commodore.com
 the two shall meet."			uunet!cbmvax!ditto
 -- Indigo Girls			ford at kenobi.commodore.com



More information about the Comp.unix.amiga mailing list