*BSD News Article 9377


Return to BSD News archive

Received: by minnie.vk1xwt.ampr.org with NNTP
	id AA5667 ; Fri, 01 Jan 93 01:52:16 EST
Newsgroups: comp.unix.bsd
Path: sserve!manuel.anu.edu.au!munnari.oz.au!spool.mu.edu!agate!dog.ee.lbl.gov!hellgate.utah.edu!fcom.cc.utah.edu!cs.weber.edu!terry
From: terry@cs.weber.edu (A Wizard of Earth C)
Subject: Re: 386bsd and AT&T SVR4 compatibility
Message-ID: <1992Dec28.224810.8500@fcom.cc.utah.edu>
Sender: news@fcom.cc.utah.edu
Organization: Weber State University  (Ogden, UT)
References: <1992Dec22.121831.4481@ghost.dsi.unimi.it> <111@knobel.GUN.de>
Date: Mon, 28 Dec 92 22:48:10 GMT
Lines: 46

In article <111@knobel.GUN.de> andreas@knobel.GUN.de (Andreas Klemm) writes:
>In <1992Dec22.121831.4481@ghost.dsi.unimi.it> marelli@ghost.dsi.unimi.it (Paolo Marelli) writes:
>
>| I'm very interested in obtain some information about
>| compatibility between 386bsd an AT&T SVR4 or similar
>| unix version like Consensys.
>
>| Do the excutables use the same format ?
>
>System V Rel.: 4	ELF-format
>			supports COFF as well
>
>386bsd:			a.out format.
>
>No way to exchange binaries between 386bsd and traditional SYSV Systems.

One fairly easy way to do this at some time in the future is to modify
the loader to recognize the magic numbers from ELF/COFF binaries (and
x.out, if we want xenix compatability) and index the system calls out
of a pointer in the proc struct for the current process rather than
out of a single system-wide array.  The kern_exec would be altered to
set the pointer appropriately based on the magic number; then the only
remaining exercise is to make sure there are emulation system calls
which act as expected for each set of system calls supported (in many
cases, no changes would be directly necessary).  A particular sticking
point may be things like parameters to ioctl's if the numbers do not
match between the target system being emulated and BSD.  In particular,
anything doing device I/O which depends on baud rates or terminal
settings would require an "emulation" module based on the constants
from the target systems header files.

But this is definitely doable, and is probably worthwhile in the long
run, since it will yield an existing commercial software base.


					Terry Lambert
					terry@icarus.weber.edu
					terry_lambert@novell.com
---
Any opinions in this posting are my own and not those of my present
or previous employers.
-- 
-------------------------------------------------------------------------------
                                        "I have an 8 user poetic license" - me
 Get the 386bsd FAQ from agate.berkeley.edu:/pub/386BSD/386bsd-0.1/unofficial
-------------------------------------------------------------------------------