Altos binary format?
Brandon S. Allbery KB8JRR
allbery at NCoast.ORG
Thu Feb 7 15:35:47 AEST 1991
As quoted from <1190 at bcs800.UUCP> by jeffs at bcs800.UUCP (Jeff Smith):
+---------------
| Oops! The hardware is an Altos 486/20, and the o/s is Xenix version
| 3.1as0. The reason for asking, is that I also have Xenix 2.2.1 (SCO)
| on a 286 (the altos is a 186) and wanted to compile on the 286 and
| run on the altos. I have the option of generating straight 8086 code
| from the 286's compiler, and was told that the majority of the 486's
| o/s was only 8086 (not 186) code anyway. Only thing is, when I get
| the executables on the altos and try to run, I get a message that says
+---------------
You must use the -compat option (not just the 8086 code generation option)
to cross-compile from SCO Xenix to Altos Xenix. With -compat, it works fine.
+---------------
| but it's an 8086 executable from xenix 2.2.1 that should be (according
| to SCO) in x.out format. I just didn't know if Altos supported the
| format, or had their own.
+---------------
x.out includes an indicator of what OS support the binary needs to be
runnable. If the kernel can't comply (wrong processor, missing system calls,
etc.) it autokills the process --- as you saw.
SCO added some system calls that Altos didn't, and vice versa. As a result,
the x.out files for each have different "Xenix version" flags. That's why you
need "-compat": it sets the version flag to a value which indicates a need
only for kernel services common to both versions.
++Brandon
--
Me: Brandon S. Allbery VHF/UHF: KB8JRR on 220, 2m, 440
Internet: allbery at NCoast.ORG Packet: KB8JRR @ WA8BXN
America OnLine: KB8JRR AMPR: KB8JRR.AmPR.ORG [44.70.4.88]
uunet!usenet.ins.cwru.edu!ncoast!allbery Delphi: ALLBERY
More information about the Comp.unix.misc
mailing list