[comp.windows.x] gcc incompatibility compiling X on Sparcstation

bashford@SCRIPPS.EDU (Don Bashford) (05/03/90)

I believe there are some compiler incompatibility problems with gcc
compiling the Xsun server and rgb on the Sparcstation.

I have a Sparcstation 1 running Sun OS 4.0.3 and am trying to compile
X11R4 patchlevel 11 with "HasGcc YES" in config/sun.cf.  I have installed
gcc version 1.37.1 and run the fixincludes script.  

During the "make World" rgb crashes with a memory fault error.  If I
set CC=cc in the Makefile in the rgb source directory and make all in
this directory the compile and run of rgb succeeds.  Upon installation,
the gcc compiled Xsun server crashes but if I replace it with my
old cc compiled Xsun (X11R4 no patches) everything seems to work.

I think the problem is caused by an incompatibility between the
way cc and gcc pass structures as function arguments and/or return values.
This problem is mentioned by Stallman at the end of the "Incompatibilities"
section of the gcc manual.  Rgb and the X server both link the dbm
libraries which use structures as arguments and return values.  As far
as I can tell rgb and the server are the only programs in the core
distribution that do use dbm, but I wonder if there are other places
in the dist where this gcc-cc problem could come up.

I suppose the fix is to either use a gcc-compiled dbm (where can I get
source?) or to use cc rather than gcc in certain key parts of the compilation. 
I am not knowledgible enough in X or imake to implement the latter fix
myself.

Comments from xperts invited.  Am I right?  Has anyone seen this before?

---------------------------------------------------
Donald Bashford
Research Institute of Scripps Clinic, La Jolla, CA
619-554-9612