[comp.unix.sysv386] SysV.3 to SysV.4 binary compatibility.

geoffg@sigma21.oz.au (Geoffrey R Graham) (10/29/90)

My understanding is that SysV.4 (on the 386) is fully binary compatible
with SysV.3 on the same CPU.

Is this correct ?

Has anyone out there had first hand experience running a major V.3
application on V.4 ?  In particular an application intended to run on
SCO UNIX V.3 ?

My apologies if this is frequently asked.  Normally I do not subscribe
to this newsgroup (I will now).  Posted or e-mail replies welcomed.

-- 
Geoff Graham
Sigma Data Corporation                                   geoffg@sigma21.oz.au
Western Australia                 Phone +61 9 321 1116     FAX +61 9 321 9178

rcd@ico.isc.com (Dick Dunn) (10/30/90)

geoffg@sigma21.oz.au (Geoffrey R Graham) writes:
> My understanding is that SysV.4 (on the 386) is fully binary compatible
> with SysV.3 on the same CPU.
> 
> Is this correct ?

No, it is not.

There is substantial compatibility (meaning a substantial number of V.3.2
programs will run on V.4) but it is by no means complete.

V.4 does support V.3.2 COFF binaries, even though it has its own yet-
another-object-file-format, ELF.

Areas where you may run into problems include V.3.2 X clients running on
V.4 (communicating with a server on the same machine), POSIX extensions,
signal extensions...

V.4 COFF compatibility covers everything in the original BCS (binary
compatibility specification), but there are several areas where BCS falls
short of what was needed.  There is work afoot to remedy these short-
comings.
-- 
Dick Dunn     rcd@ico.isc.com -or- ico!rcd       Boulder, CO   (303)449-2870
   ...Never offend with style when you can offend with substance.

jay@retix.retix.retix.com (Jay Logue) (10/31/90)

While I don't know the precise extent of binary compatibility between
SVR3 and R4, I have taken executables from an SCO 3.2.2 box and run
them on an AT&T version of R4 for the 386, without any problems.  The
executables are Emacs 18.55 and GDB 3.6, both compiled with GCC.
Emacs has been running flawlessly, however GDB is completely useless
because of the new executable format used by R4 (ELF).  I was able to
get GDB to debug itself (including setting breakpoints and stopping at
those breakpoints), so it does appear to work.  Hopefully someone will
develop ELF patches for the GNU development set soon and this will no
longer be a problem.

I'd say if you have an executable you wish to transfer, give it a
try.  I occurs to me that this level of compatibility should cover
a lot of applications.

Jay.

larry@nstar.uucp (Larry Snyder) (10/31/90)

rcd@ico.isc.com (Dick Dunn) writes:

The 4.0 docs specifically mention that 3.2 programs when run under 4.0
will use more memory --


-- 
       Larry Snyder, Northern Star Communications, Notre Dame, IN USA 
 {larry@nstar, uunet!sco!romed!nstar!larry, nstar%larry@iuvax.cs.indiana.edu}
                     backbone usenet newsfeeds available
         Public Access Unix Site (219) 289-0282 (5 high speed lines)

rcd@ico.isc.com (Dick Dunn) (11/01/90)

larry@nstar.uucp (Larry Snyder) writes:
> rcd@ico.isc.com (Dick Dunn) writes:
> 
> The 4.0 docs specifically mention that 3.2 programs when run under 4.0
> will use more memory --

No he didn't.  In fact, I asked Dick about it; he claims that not only did
he *not* say that, he can't imagine why it would be so.  He made some vague
hand-wavy argument that if the program's already linked and all, the size
of the code and data ought to be pretty well tied down.  I dunno.
-- 
Dick Dunn     rcd@ico.isc.com -or- ico!rcd       Boulder, CO   (303)449-2870
   ...but Meatball doesn't work that way!

rwhite@nusdecs.uucp (0257014-Robert White(140)) (11/07/90)

In article <1990Oct31.204646.27825@ico.isc.com> rcd@ico.isc.com (Dick Dunn) writes:
>No he didn't.  In fact, I asked Dick about it; he claims that not only did
>he *not* say that, he can't imagine why it would be so.  He made some vague
>hand-wavy argument that if the program's already linked and all, the size
>of the code and data ought to be pretty well tied down.  I dunno.

Here is a WAG for you.

In my SVR3.2.1 there is a shell program that gets run around any
XENIX executables.  It does some cleanup on the arg types where
there were compatibility problems.

The same thing seems like a likely possibility for any SVR4 that
whants to run SVR3 stuff but that has some problem with something
spesific.

That would make it take more memory.

Rob.

Like I said, just a WAG. (I smell a disclaimer ;-)

davidsen@sixhub.UUCP (Wm E. Davidsen Jr) (11/08/90)

  V.4 runs Xenix binaries beautifully. I have had very good luck with
it. It actually has been better running Xenix than V.3 binaries,
compiled from the same source. I have not looked into this, since I just
wanted to run a benchmark.

  Oh, the verdict was that a certain database app which can use a raw
partition will run at 95-98% performance using the ufs filesystem type.
Actually the s5 type was only about 5-20% down (depending on operation)
so the gains from going to a dedicated partion are minimal. Important,
though, if you are running the system flat out all day.
-- 
bill davidsen - davidsen@sixhub.uucp (uunet!crdgw1!sixhub!davidsen)
    sysop *IX BBS and Public Access UNIX
    moderator of comp.binaries.ibm.pc and 80386 mailing list
"Stupidity, like virtue, is its own reward" -me