From mboxrd@z Thu Jan 1 00:00:00 1970 From: "David and Jannette Uczen" To: Subject: IBM S/370 and binutils Date: Wed, 27 Oct 1999 16:24:00 -0000 Message-id: <001101bf20d2$309734a0$4e81e3d8@duczen--lap.hannaford.com> X-SW-Source: 1999-10/msg00145.html 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 To: 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." 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" >> >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." 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." 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. >> ------------------------------------------------------------------------- ---- >> >> > > > > >