jlevy@arisia.Xerox.COM (Jacob Levy) (12/20/88)
I applied the patches, did "make Makefile; make Makefiles depend; make". I'm on a Sun 3/260, using SunOS 3.5 using CC=cc. In trying to compile mfbsetsp.c the compiler complains about line 77: "mfbsetsp.c", line 77: compiler error: no table entry for op REG Anyone knows what is the problem? Any help appreciated, --Jacob
brooks@maddog.llnl.gov (Eugene Brooks) (12/20/88)
In article <473@arisia.Xerox.COM> jlevy.pa@xerox.com (Jacob Levy) writes: >I applied the patches, did "make Makefile; make Makefiles depend; make". >I'm on a Sun 3/260, using SunOS 3.5 using CC=cc. In trying to compile >mfbsetsp.c the compiler complains about line 77: > >"mfbsetsp.c", line 77: compiler error: no table entry for op REG The PURDUE speedups are compilable with the SUN CC (a PCC based compiler). The error message you got indicates that PCC ran out of registers trying to evaluate an expression. We had no problem with SUN CC, but our system does not have an FPA and I suspect that your 3/260 might have one. If so, SUN make may be sticking in the -fpa flag for you and the bug might be in the FPA compiler only. You can turn this off by setting FLOAT_OPTION=68881 in your environment. To compile Xsun with GCC, I only know GCC 1.30 or later to work, you must ensure that oscolor.c gets compiled with the SUN CC. In addition to this GCC croaks on a bitblt routine in the cfb code, and as we don't have any color monitors we just compile this section with SUN CC. Use the following patch to take care of oscolor.c, patch the Imakefile in server/os/4.2bsd. Don't forget to run the script shipped with GCC which installs patches of the SUN include files which will croak GCC with errors and don't forget to remake the Makefile. *** /tmp/,RCSt1a00313 Mon Dec 19 21:17:08 1988 --- Imakefile Sun Dec 4 09:56:02 1988 *************** *** 83,88 ar x $(PWLIB) alloca.o #endif /* NEED_ALLOCA_FROM_LIBPW */ SpecialObjectRule(osinit.o, $(ICONFIGFILES), -DADMPATH=\"$(ADMDIR)/X\%smsgs\") SpecialObjectRule(WaitFor.o, $(ICONFIGFILES), $(EXT_DEFINES)) SpecialObjectRule(fonttype.o, $(ICONFIGFILES), $(FONT_DEFINES)) --- 83,92 ----- ar x $(PWLIB) alloca.o #endif /* NEED_ALLOCA_FROM_LIBPW */ + oscolor.o : + rm -f oscolor.o + cc -c $(CFLAGS) oscolor.c + SpecialObjectRule(osinit.o, $(ICONFIGFILES), -DADMPATH=\"$(ADMDIR)/X\%smsgs\") SpecialObjectRule(WaitFor.o, $(ICONFIGFILES), $(EXT_DEFINES)) SpecialObjectRule(fonttype.o, $(ICONFIGFILES), $(FONT_DEFINES)) xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Finally, you have to take care of the routine in the cfb code which will blow off with GCC. As we don't have color hardware, I punted this and just compiled the directory using CC. If you want better color frame buffer code you will actually have to deal with the problem, perhaps the bug can be found and killed or you can use the same trick as in oscolor.c. Script which I use to build Xsun, after a make World has built a CC version. #!/bin/sh make clean # Gcc croaks on the bitblit routine in cfb (cd ddx/cfb; make) make CC=gcc Xsun GCC can compile the PURDUE+ speedups, but CC will croak on them.