Why can't elves cough?

Sean Eric Fagan sef at kithrup.COM
Wed Mar 6 15:57:05 AEST 1991


In article <27D314DF.1D4E at telly.on.ca> evan at telly.on.ca (Evan Leibovitch) writes:
>Is there indeed no backwards compatability in the R4 compiler? 

Not as far as I know.  Not terribly surprising:  I don't believe that ISC
(actually, anyone but SCO) lets you develop for previous releases (e.g.,
xenix, '286).  (That comment, which is quite possibly wrong, is based soley
on comments I'd seen here previously. If I'm wrong, I apologise in
advance...)

>Although
>the obvious answer is to buy SCO because binaries compiled on it will
>run on all UNIX vendors' current releases, I'm very hesitant to buy
>software mainly because it's the lowest common denominator.

"Buy SCO:  The Lowest Common Denominator."  I don't think I should comment
any further on that 8-).

>So what are the other choices? Which of these options is best? Are they
>even possible? Are there other options?
>
>- If you have a present copy of Interactive/Dell/ESIX R3.2, can you hang
>  onto the 3.2 software development set when you upgrade to R4? Then you
>  could load the 3.2 compiler, which should run fine under R4 (though the
>  libraries will still be the old ones).

I would be very surprised if this wouldn't work.  You would need some way of
getting all of the binaries on, of course, but once that would done, it
should work.  Note that you would probably want to use gencc to make a
program that will run in a different location (so as not to collide with the
4.0 devsys).

>- Use gcc. Can it possibly be built to use the R4 libraries, while
>  having a run-time switch to produce either coff or elf?

There are two issues here:  one is making the compiler spit out coff/elf
assembly, and the other is having the rest of the devsys deal with it (as,
ld, libraries, etc.).  gcc currently doesn't have any libraries released
(although I think gnulibc is in beta or late alpha?), but, since you've got
all the sources, you can (theoretically) make it work any way you want.  I
have, myself, built gcc and gas to deal with COFF; all that's needed,
besides that, are linkers and libraries.

>A larger question is "what are the advantages of compiling for elf when
>coff is more portable?" What features of R4 *require* something to be
>compiled with elf?

Anything that is new for 4.0 could, conceivably, need to be compiled as an
ELF binary.  (This is because the kernel will differentiate between the
various binary types, and the syscall numbers could be different.)  Also,
the dynamic-linking shared libraries need ELF (since the object files for
the libraries is ELF, and the library routines to do this expect ELF).

Other than all that (8-)), I don't see any problems.

-- 
Sean Eric Fagan  | "I made the universe, but please don't blame me for it;
sef at kithrup.COM  |  I had a bellyache at the time."
-----------------+           -- The Turtle (Stephen King, _It_)
Any opinions expressed are my own, and generally unpopular with others.



More information about the Comp.unix.sysv386 mailing list