public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* ELF header machine types (e_machine)
@ 1999-10-14 18:38 David and Jannette Uczen
  1999-10-14 19:25 ` Ian Lance Taylor
  0 siblings, 1 reply; 2+ messages in thread
From: David and Jannette Uczen @ 1999-10-14 18:38 UTC (permalink / raw)
  To: binutils

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1404 bytes --]

Hi, I am new to this mailing list, so forgive me 
if I am asking an age-old question.
 
I am an IBM-mainframer with an interest in GNU 
utilities (we have GCC for OS/390, for example) and Linux. Looking through the 
binutils-2.9.5.0.16 source code, I noticed that in /include/elf/common.h there 
are 2 definitions for the IBM System/370 (or S/390). One is EM_S370 (9), 
presumably used by Amdahl's UTS, a SVR4-variant for System/370-compatible 
systems, and the other is EM_I370 (0xF00F), presumably for Running Linux On the 
Mainframe (ROAM).
 
Questions:
1) Shouldn't there be one definition for an architecture? 
These two are essentially the same. The only different one _might_ be a new 
EM_S390 / EM_I390 for IBM's System/390 CMOS Microprocessor, while upwardly 
compatible with older System/370 processors, does have new unique features such 
as support for IEEE floating point. However, this scheme was done with Intel 
(EM_386 and EM_486), but appears to have been since abandoned.
2a) Are EM_PPC and EM_CYGNUS_POWERPC different processors? 2b) 
If not, why the two definitions?
3) Who decides what are "official" machine types? 
Every document I have found describing the ELF format seems to have a different 
list of "official" values. 
 
If anyone out there can provide any help with these questions, 
I would be very greatful.
 
-Thanks,
David Uczen
Mainframe Systems Programmer

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: ELF header machine types (e_machine)
  1999-10-14 18:38 ELF header machine types (e_machine) David and Jannette Uczen
@ 1999-10-14 19:25 ` Ian Lance Taylor
  0 siblings, 0 replies; 2+ messages in thread
From: Ian Lance Taylor @ 1999-10-14 19:25 UTC (permalink / raw)
  To: uczen; +Cc: binutils

   From: "David and Jannette Uczen" <uczen@mint.net>
   Date: Thu, 14 Oct 1999 21:36:15 -0400

   I am an IBM-mainframer with an interest in GNU utilities (we have GCC =
   for OS/390, for example) and Linux. Looking through the =
   binutils-2.9.5.0.16 source code, I noticed that in /include/elf/common.h =
   there are 2 definitions for the IBM System/370 (or S/390). One is =
   EM_S370 (9), presumably used by Amdahl's UTS, a SVR4-variant for =
   System/370-compatible systems, and the other is EM_I370 (0xF00F), =
   presumably for Running Linux On the Mainframe (ROAM).

   Questions:
   1) Shouldn't there be one definition for an architecture? These two are =
   essentially the same. The only different one _might_ be a new EM_S390 / =
   EM_I390 for IBM's System/390 CMOS Microprocessor, while upwardly =
   compatible with older System/370 processors, does have new unique =
   features such as support for IEEE floating point. However, this scheme =
   was done with Intel (EM_386 and EM_486), but appears to have been since =
   abandoned.

These numbers were assigned by AT&T a long time ago.  I have no idea
why they made the choices they did.

   2a) Are EM_PPC and EM_CYGNUS_POWERPC different processors? 2b) If not, =
   why the two definitions?

They are the same processor.  I wrote the original PowerPC ELF
support, before there was a PowerPC ELF ABI.  I used the randomly
chosen number 0x9025 for the object files (it was my phone extension,
actually).  Later, PowerPC ELF was assigned the number 20.  At that
point, there were existing object files with the old number, so it
would have been a pain to simply change the number.  Instead, Michael
Meissner (I think) changed the binutils so that new object file used
the new number, but that old object files were still supported.

Incidentally, you forgot to ask about EM_PPC_OLD.  I think that was
because the PowerPC EABI group thought they had been assigned the
number 17, and people started using it, but the ELF registry later
assigned them the number 20.

   3) Who decides what are "official" machine types? Every document I have =
   found describing the ELF format seems to have a different list of =
   "official" values.=20

Nowadays, SCO does, since they now own System V.  I believe you can
contact the right people by sending mail to registry@sco.com.

Ian

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~1999-10-14 19:25 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-10-14 18:38 ELF header machine types (e_machine) David and Jannette Uczen
1999-10-14 19:25 ` Ian Lance Taylor

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).