This is the mail archive of the binutils@sourceware.cygnus.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

IBM S/370 and binutils


I am forwarding this message to inform the binutils developers that I
believe that any further use of the ELF machine type EM_I370 (0xF00F) should
be discontinued.

Somehow, Amdahl Corporation did not register their machine type (IBM
System/370 Processor) with the SVR4 registry, which at the time was AT&T.
The have a commercially available SVR4-compliant operating system called
UTS. In accordance with the SVID, they use ELF as their object/binary format
with a machine type of EM_S370 (9). As you can see by the attached messages,
the value is now an officially registered value.

As far as Amdahl's implementation of relocation, program loading and dynamic
linking (all defined as processor-specific in the ABI), I am requesting
information from Amdahl.

Subsequently, work has been done with binutils and GCC to utilize EM_I370,
the exact same processor. Since I don't think it's wise to have to values
for the same processor, I suggest that any further development of binutils
or GCC use EM_S370 instead.

I think part of the confusion involves Amdahl. Amdahl makes S/370 compatible
processors, just as AMD make x86 compatible processors. IBM software runs on
Amdahl and visa-versa. Actually, Hitachi also makes compatible machines.

As far as autoconf target values, i.e. i370-*, I don't know if those should
be converted to s370-* or not.

ELF support is there for S/370 in hopes, I assume, of running Linux.
However, by using EM_S370, the GNU projects should easily be ported to UTS
as well.

I am considering designing an ESD/XSD backend to support the OS/390, VM and
VSE communities. Currently, only commerical compilers are available. With
the machine defintions already in place, I am hoping to extend Dave Pitt's
work. He has developed some patches that produce HLASM-compatible assembler
(IBM's Assembler), but it still needs work. If a ESD/XSD backend existed for
BFD, then GAS could also be used. This should allow targets like
s370-amdahl-uts4, s370-ibm-mvs, s370-ibm-os390, s370-ibm-oe, s370-ibm-vm,
s370-ibm-vse, s370-ibm-linux, s370-elf, s370-esd, s370-xsd, etc..


Please offer comments to my proposal.

Thanks,
David Uczen
Mainframe Technical Support
Hannaford Bros. Co.

P.S. A new version of the SVR4 ABI will be published soon, which should
contain EM_S370 as an official value.


-----Original Message-----
From: David Uczen <duczen@hannaford.com>
To: uczen@mint.net <uczen@mint.net>
Date: Wednesday, October 27, 1999 6:40 PM
Subject: Re: Request for new ELF machine type


>
>
>
>---------------------- Forwarded by David Uczen/Tech Support/Corp/HBC on
>10/27/99 06:38 PM ---------------------------
>
>
>"Silverstein J." <jds@sco.COM> on 10/27/99 08:30:05 AM
>
>To:   David Uczen/Tech Support/Corp/HBC@HBC
>cc:   registry@sco.COM
>Subject:  Re: Request for new ELF machine type
>
>
>
>On Tue, Oct 26, 1999 at 08:01:36PM -0400, David Uczen wrote:
>>
>>
>> Joel,
>>
>> Here is the reply I got back from Amdahl UTS Technical Support. I hope
this
>> confirms the value of 9 for EM_S370, or I can have Chris Swartout contact
you.
>>
>> Thanks,
>> David Uczen
>> Mainframe Technical Support
>> Hannaford Bros. Co.
>
>David,
>
>Okay, we have assigned EM_S370 with value 9 to mean
>IBM System/370 Processor.
>--
>Joel Silverstein
>SCO Development Systems
>jds@sco.com (908) 790-2371
>
>All opinions expressed are my own.
>
>>
>>
>> ---------------------- Forwarded by David Uczen/Tech Support/Corp/HBC on
>> 10/26/99 07:56 PM ---------------------------
>>
>>
>> cas30@oes.amdahl.com (Chris A. Swartout) on 10/26/99 03:25:12 PM
>>
>> To:   David Uczen/Tech Support/Corp/HBC@HBC
>> cc:   utsproducts@oes.amdahl.com
>> Subject:  Re: UTS Use of ELF
>>
>>
>>
>>   David and Joel,
>>
>>   The elf header structure and legal values of the e_machine element
>>   (as of the assignment of the Amdahl value) are included below:
>>
>> typedef struct {
>>         unsigned char   e_ident[EI_NIDENT];     /* ident bytes */
>>         Elf32_Half      e_type;                 /* file type */
>>         Elf32_Half      e_machine;              /* target machine */
>>         Elf32_Word      e_version;              /* file version */
>>         Elf32_Addr      e_entry;                /* start address */
>>         Elf32_Off       e_phoff;                /* phdr file offset */
>>         Elf32_Off       e_shoff;                /* shdr file offset */
>>         Elf32_Word      e_flags;                /* file flags */
>>         Elf32_Half      e_ehsize;               /* sizeof ehdr */
>>         Elf32_Half      e_phentsize;            /* sizeof phdr */
>>         Elf32_Half      e_phnum;                /* number phdrs */
>>         Elf32_Half      e_shentsize;            /* sizeof shdr */
>>         Elf32_Half      e_shnum;                /* number shdrs */
>>         Elf32_Half      e_shstrndx;             /* shdr string index */
>> } Elf32_Ehdr;
>>
>> #define EM_NONE         0               /* e_machine */
>> #define EM_M32          1               /* AT&T WE 32100 */
>> #define EM_SPARC        2               /* Sun SPARC */
>> #define EM_386          3               /* Intel 80386 */
>> #define EM_68K          4               /* Motorola 68000 */
>> #define EM_88K          5               /* Motorola 88000 */
>> #define EM_486          6               /* Intel 80486 */
>> #define EM_860          7               /* Intel i860 */
>> #define EM_MIPS         8               /* Mips R2000 */
>> #define EM_S370         9               /* Amdahl       */
>> #define EM_NUM          10
>>
>>   This is definately still used by Amdahl, and our SVR4 product (UTS4)
>>   uses elf compilers and binaries.
>>
>>   I hope this answers your questions.
>>
>>   Chris.
>>
>> David Uczen recently spake thusly:
>> >Subject: UTS Use of ELF
>> >Date: Tue, 26 Oct 1999 12:22:11 -0400
>> >From: "David Uczen" <duczen@hannaford.com>
>> >To: utsproducts@oes.amdahl.com
>> >Message-ID: <85256816.005A3AF7.00@mta.hannaford.com>
>> >Mime-Version: 1.0
>> >
>> >
>> >
>> >Hello,
>> >
>> >I may be mistaken, but I have heard that your UTS operating system is
>> >SVR4-compliant. If this is true, you should be using ELF binaries. If
you are
>> >using ELF binaries, I would like to know what the value of your
e_machine is
>in
>> >the ELF header.
>> >
>> >I found somewhere a value of EM_S370 (9) that was supposedly used by
Amdahl.
>> >However, SCO, the legal owner of the SVR4 code and offical registry of
>> e_machine
>> >values has no record of this.
>> >
>> >I am attempting to (re)establish EM_S370 as an official value. Could you
tell
>> me
>> >if you do or ever have used EM_S370? And if you have used it, is it 9
and is
>it
>> >still valid?
>> >
>> >Thanks for your help,
>> >David Uczen
>> >Hannaford Bros. Co.
>> >(207) 885-3421
>> >
>> >FYI: See attached message(s):
>> >
>> >---------------------- Forwarded by David Uczen/Tech Support/Corp/HBC on
>> >10/26/99 12:18 PM ---------------------------
>> >
>> >
>> >"Silverstein J." <jds@sco.COM> on 10/26/99 10:18:56 AM
>> >
>> >To:   David Uczen/Tech Support/Corp/HBC@HBC
>> >cc:
>> >Subject:  Re: Request for new ELF machine type
>> >
>> >
>> >
>> >Sorry it has taken so long to reply.  We have been digging
>> >through old mail, trying to see if there is any record
>> >of a value for Amdahl.  We haven't been able to find
>> >positive confirmation of that.  We will be glad to assign a
>> >new number for EM_S370.  If you would like to use the value 9,
>> >however, we will need for you to get someone from Amdahl in touch
>> >with us to verify that they are using 9 to mean S370.
>> >--
>> >Joel Silverstein
>> >SCO Development Systems
>> >jds@sco.com (908) 790-2371
>> >
>> >All opinions expressed are my own.
>> >
>> >On Mon, Oct 18, 1999 at 11:24:24AM -0400, David Uczen wrote:
>> >>
>> >>
>> >> With that in mind, I would like to request that EM_S370 be assigned
since
>it
>> >may
>> >> (or may not) be used by Amdahl. (NOTE: I have found some documentation
that
>> >> EM_S370 used to have a value of 9, but I don't know if Amdahl still
uses
>it.)
>> >>
>> >> Thank you very much,
>> >>
>> >> David Uczen
>> >> Mainframe Technical Support
>> >> Hannaford Bros. Co.
>> >>
>> >>
>> >>
>> >>
>> >>
>> >> "Silverstein J." <jds@sco.COM> on 10/18/99 09:07:24 AM
>> >>
>> >> To:   David Uczen/Tech Support/Corp/HBC@HBC
>> >> cc:   registry@sco.COM
>> >> Subject:  Re: Request for new ELF machine type
>> >>
>> >>
>> >>
>> >> On Fri, Oct 15, 1999 at 02:41:32PM -0400, David Uczen wrote:
>> >> >
>> >> >
>> >> > I would like to request an new machine type for the ELF standard:
>> >> >
>> >> > The processor is the IBM System/370 Processor (Bi-polar and CMOS).
>> >> >
>> >> > Proposed constant: EM_S370
>> >> >
>> >> > Proposed description: IBM System/370 Architecture
>> >> >
>> >> > Requesting organization:  My self, for two reasons: 1) I am
interested in
>> >> > developing tools that use ELF on the S/370 platform and would like
to use
>> an
>> >> > official value; and 2) The GNU binutils project has selected an
arbitrary
>> >> value
>> >> > (EM_I370 and 0xF00F), while a commercial SVR4-compliant system,
Amdahl
>> >> > Corporation's UTS, already exists.
>> >> >
>> >> >
>> >> > If it is necessary to distinquish between different processors
although
>> they
>> >> are
>> >> > upwardly compatible, then I would also like to propose:
>> >> >
>> >> > The processor is the IBM System/390 CMOS Microprocessor.
>> >> >
>> >> > Proposed constant: EM_S390
>> >> >
>> >> > Proposed description: IBM System/390 Architecture
>> >> >
>> >> > Requesting organization:  My self, in addition to the above reasons,
the
>> >S/390
>> >> > is NOT always downwardly compatible, i.e. IEEE floating point
>instructions
>> >> will
>> >> > not work for S/370.
>> >> >
>> >> >
>> >> > Thank you,
>> >> >
>> >> > David Uczen
>> >> > Mainframe Technical Support
>> >> > Hannaford Bros. Co.
>> >> >
>> >>
>> >> We can assign 2 values.  I would recommend, however, that you
>> >> use a single value and then use a bit in the e_flags field
>> >> of the ELF header to indicate that S390 floating-point support is
>> >> required for programs that use those instructions.  I think
>> >> it is probably simpler in the tools.  If the processors are
>> >> otherwise compatible, it keeps things more consistent.  Let
>> >> us know how you want to go.
>> >> --
>> >> Joel Silverstein
>> >> SCO Development Systems
>> >> jds@sco.com (908) 790-2371
>> >>
>> >> All opinions expressed are my own.
>> >>
>> >>
>> >>
>> >
>> >
>> >
>> >
>> >
>>
>>
>> --
>>   Chris A. Swartout    | Amdahl Corporation            |   N6WCP
>>   cas30@oes.amdahl.com | 1250 East Arques Ave  M/S 278 |
>>  (408) 746-6590        | Sunnyvale,  CA, 94088-3470    |
>>
>> Disclaimer: All statements are my own and do NOT represent Amdahl in any
way.
>> -------------------------------------------------------------------------
----
>>
>>
>
>
>
>
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]