[comp.windows.x] Does anyone have gcc for the i860?

jonesm@nic.cerf.net (Mathew Jones) (05/08/91)

I am a devotee of hopeless causes, so I am trying to compile the
MIT distribution of X 11R4 in order to end up with an X server on
an Alliant fx2800. My first attempts have met with failure because
the Alliant C preprocessor, scc0, doesn't paste tokens together in
the fashion expected by the X developers, and I end up with thousands
of compiler errors. The X documentation that comes with the release
says the gcc is the compiler of choice, so my question is...

Does anybody have gcc ported to (and producing code for :-)) the
intel i860 micro? Lacking that, does anybody have a preprocessor that
handles token pasting as required by the X sources? 

Please respond by email, I will post a summary if there is sufficient
(any? :-)) response.

Thanks in advance,
John Reading

mouse@lightning.mcrcim.mcgill.EDU (der Mouse) (05/08/91)

> I am a devotee of hopeless causes, so I am trying to compile the MIT
> distribution of X 11R4 in order to end up with an X server on an
> Alliant fx2800.  My first attempts have met with failure because the
> Alliant C preprocessor, scc0, doesn't paste tokens together in the
> fashion expected by the X developers, and I end up with thousands of
> compiler errors.  The X documentation that comes with the release
> says the gcc is the compiler of choice, so my question is...

> Does anybody have gcc ported to (and producing code for :-)) the
> intel i860 micro?  Lacking that, does anybody have a preprocessor
> that handles token pasting as required by the X sources?

I wrote a preprocessor that I believe sticks fairly closely to the
Reiser semantics.  Since X can be built on old systems with Reiser
cpps, this should be good enough for your purposes.  (My preprocessor
is good enough for use with imake when building X, and I've used it for
all normal C compilations on some of our machines for years, so the
semantics must match Reiser's pretty closely.)

I have placed this preprocessor in the public domain.  It can be had by
ftp from 132.206.1.1 in X/XNeXT/cpp* (I built this while porting X to
the NeXT), or by mail from me if you can't ftp it for some reason.

					der Mouse

			old: mcgill-vision!mouse
			new: mouse@larry.mcrcim.mcgill.edu

hyc@hanauma.jpl.nasa.gov (Howard Chu) (05/15/91)

In article <367@nic.cerf.net> jonesm@nic.cerf.net (Mathew Jones) writes:
>I am a devotee of hopeless causes, so I am trying to compile the
>MIT distribution of X 11R4 in order to end up with an X server on
>an Alliant fx2800. My first attempts have met with failure because
>the Alliant C preprocessor, scc0, doesn't paste tokens together in
>the fashion expected by the X developers, and I end up with thousands
>of compiler errors. The X documentation that comes with the release
>says the gcc is the compiler of choice, so my question is...

I've recently finished building an X distribution on our FX/8s, (clients
only, got nothing to run a server for... This is slightly tangential
to your question but may be useful anyway.) On the 8[0]s, the pcc
compiler runs out of table space when compiling extensions/include/XInput.h.
It also doesn't allow large (8K+) local variables, it seems to have a
very limited user stack. I guess that's just FYI, I haven't used scc on
our 800 to see if it has the same limitations.

As another side-note, gcc may not really help you on the Alliant. On the
FX8s, the Alliant calling conventions aren't fully supported by gcc
(something incompatible in structure returns?) and what you wind up with
doesn't run. This problem probably wouldn't exist on the 800 since they
probably use a whole new calling convention, but ya never know...

The main thing I want to mention is that I spent some time rewriting the
Imake rules and template files to allow X to compile intelligently with
parallel makes. This cut my compile time on a wimpy old 4-processor FX/8
from about 14 hours to around 3 hours. (Perhaps I shouldn't quite say
"intelligently" up there, it drives the load average up into the 20s and
30s when it's chunking thru the lib and client directories... But the
Alliant Concentrix OS doesn't seem to get fazed too much by this, you really
don't notice any loss of interactive response...)

You will probably want to do the same thing... I think the default imake
rules need a lot of work anyway; fresh off the distribution, the thing
causes imake itself to be deleted and recompiled at every phase of the 5
step "make World" process, and this causes it to effectively repeat the
"make Makefiles" step 5 times as well. Talk about brain-damage.
(Personally, I think this is a plot by the CPU vendors in the XConsortium
to try to create demand for higher performance boxes... "Gee, why does it
take so long to build X?" "I dunno, I guess you need a newer/faster/more
expensive computer!"  }-)  }-)  }-)
-- 
  -- Howard Chu @ Jet Propulsion Laboratory, Pasadena, CA
	Disclaimer: How would I know, I just got here!