Re: Building UNIX system V on a SUN SPARC

Dave Howell <dave.howell@ColumbiaSC.NCR.COM>
Tue, 21 Apr 1992 17:26:57 GMT

          From comp.compilers

Related articles
Building UNIX system V on a SUN SPARC (1992-04-15)
Re: Building UNIX system V on a SUN SPARC dave.howell@ColumbiaSC.NCR.COM (Dave Howell) (1992-04-21)
Re: Building UNIX system V on a SUN SPARC metaware!miker@uunet.UU.NET (1992-04-22)
| List of all articles for this month |

Newsgroups: comp.compilers
From: Dave Howell <dave.howell@ColumbiaSC.NCR.COM>
Keywords: C, sparc
Organization: Compilers Central
References: 92-04-063
Date: Tue, 21 Apr 1992 17:26:57 GMT

Vicente Cerveron writes:
> I have the source code for building the UNIX System V / SPARC
> implementation / Release 4. I will try to build and run it on a SUN SPARC
> machine. My doubt is that in the 'Build Instructions' manual it is said:
> "The source code product should be build on a non-DRS6000 computer only
> if your cross-compiler is funcionally equivalent to C Software development
> System (CSDS) Issue 5. ...

If you have all of the source code to build UNIX System V R4, you should
have the tools listed above in source form, including the CSDS C compiler.
If your resident compiler tools are healthy enough to build the cross
tools then they can be built first and then be used to build the rest of
the base.

This all assumes that the version of your source has a CSDS code generator
for the SPARC, which I belive is available. We did this for our early V.4
port, i.e. bringing up the cross tools on a 68k TOWER32 V.3.2 system for
the i386 V.4 port. Other than some stuff in the assembler that was ix86
dependent for bit fields, it all came up and worked without a major

> And now, the questions:
> 1- Has anyone done this building process on a SUN SPARC machine?

We just worked with the i386 port of V.4.

> 2- Where can I get info on the CSDS? Who is its owner?

USL, and there is pleanty of documentation in the Prentice Hall "UNIX
SYSTEM V RELEASE 4" series of books. See the "ANSI C and SUPOORT TOOLS"
and "PROGRAMMER's REFERENCE MANUAL" volumes for the information that you

> 3- There is any compiler (free if possible) for the SUN SPARC
> equivalent to CSDS?

GNU C possibly, but I doubt that they have all of the features needed to
fully make the V.4 source. We have been working with MetaWare for 2 years
(first product shipped last fall) to get all of the bells and whistles
from CSDS into the High C compiler that we are using for our System 3000

Some of the items were:

        - Matching CSDS's transition mode, which must be right or close to hope
            to make the V.4 base correctly. This is a watered down ANSI C mode
            with enough looseness to let pre ANSI C programs compile. Most of the
            base is written using it. Figuring out what to make loose starting with
            a full ANSI C implementation is not fun.

        - Inline ASM macros, like the PCC2 version for V.3 but enhanced for V.4

        - Implementing asserts, kind of like predefines but not in the ANSI C
            identifier name space.

        - Implementing all of the other CSDS options and functions
            to permit the make.

        - Finding the grossly compiler dependent code in the V.4 source base and
            fixing it. It is clear that USL never planned on other then CSDS being
            the compiler at least for our i386 port. In the name of portability
            why did they do this???

Needless to say it took us quite a while to get everything working well
enought to sucessfully make a V.4 base from the source code with a non
CSDS compiler. Good luck finding a compiler with all of this stuff in it
other than CSDS.

I think that MetaWare may have a compiler for the SPARC, and if so it may
be easy for them to provide a V.4 port with most of this stuff in it. It
isn't free, but it may save time.
Dave Howell (803) 791-6818
Compiler Technologies Group dave.howell@ColumbiaSC.NCR.COM
NCR Corporation
E&M - Columbia
3325 Platt Springs Rd
West Columbia, SC 29169

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.