IBM S/370 and binutils

linas@linas.org linas@linas.org
Sat Oct 30 11:45:00 GMT 1999


Hi David,

It's been rumoured that David and Jannette Uczen said:
> 
> You should be able to get an ABI from Amdahl Corporation, through UTS
> Technical Support. I have contacted a Chris A. Swartout
> (cas30@oes.amdahl.com), who verified that the value of EM_S370 (9) is used
> for IBM System/370 Processors. This value still exists in the binutils
> source (/binutils/include/elf/common.h).
> I have had the value officially registered with SCO (registry@sco.com). A
> new ABI is going to be published soon.
> I myself am trying to get ABI information, but haven't heard back yet.

You apologized for a long overview in your last note, so let me do
the same here.

Be aware that there are multiple ABI specs.  The one kept by SCO 
outlines the structure of the ELF file format that is common to *all*
ELF-based architectures.  You can download this spec as a PDF file
from the SCO website; my webpage gives the pointer to it.  The binutils
contain a back-end that knows how to manipulate this geenric file
format.

Seperately, there are processor-specific ABI's that define things like
the stack layout, the static linkage and register conventions, the
dynamic linkage mechanisms, and occasionally even the system call
interfaces.  I beleive SCO maintains the Intel ABI, Sun maintains the
PowerPC ABI, and SGI the MIPS ABI.  It is this later document, that 
hopefully Amdahl maintains for the IBM processors (isn't it a curious 
accident of fate that processor ABI's seem to be maintained by
competitors?).

In the gnu scheme of things, stack layout, register conventions are
handled by the compiler gcc.  Dynamic linking is handled mostly by
the binutils ld loader, with assist from gcc.  The system call
interfaces are a shared responsibility between the C Library glibc 
and the kernel (Linux or UTS in Amdahl's case).  As you can see,
ABI conformance has prevasive effects, and full, 100% conformance
can be a rather overwhelming task, especially when subtlties with 
glibc and the OS kernel enter the picture.

--linas


More information about the Binutils mailing list