smh@mit-amt.MEDIA.MIT.EDU (Steven Haflich) (06/09/87)
[It has been reported that current Gnu Emacs fails on Masscomp RTU.] I have successfully brought up Gnu 18.44 on Masscomp 3.1 RTU with both the 1.1 and 1.2 versions of the C compiler. There are a couple necessary bug workarounds, and I am in the process of submitting bug reports to Masscomp. Meanwhile, here's what you have to do: There is a bug regarding register variables and alloca that is hard to work around because the compiler tries to be so clever. [I defer describing it here.] This causes the failure of regex searching during inc-vers, as you described. One way to workaround would be to change the *name* of the Gnu-provided fake alloca routine, but I solved it expediently (if inelegantly) by removing all register variables. Put this line in m-masscomp.h: #define register This effectively removes all register declarations. When you recompile there will be several modules in the source that contain register declarations without type specifier, i.e.: register foo; When the compile reports these errors, just change the source to the equivalent: register int foo; This fixes the problem, and a single-user 68020 is so fast you won't notice the lack of register variables. There are two other fixes you might want to make while you are at it. The current C compiler proprocessor doesn't predefine the variable MASSCOMP, but some Gnu code conditionalizes on it. Add to s-rtu.h: #define MASSCOMP There is apparently a bug in Masscomp's implementation of the fsync(2) system call. I haven't isolated the bug completely but suspect that if an inode to be fsync'd is in the same disk block as another `dirty' inode (or maybe the parant directory) then the entire file system locks up, requiring reboot. This can happen when Gnu first writes any particular file. The fix is simply to conditionalize out the fcntl in fileio.c, which is no big deal since fcntl doesn't do anything detectable to user code in the first place. With these three changes (and the minor include file hacking you mentioned) Gnu 18.44 comes up and runs with no problems. Steve Haflich smh@ems.mit.edu Experimental Music Studio, MIT Media Lab (617)893-8863
vonn@beaver.cs.washington.edu (Vonn Marsch) (02/11/88)
Does *ANYONE* have Gnu Emacs working on a Masscomp 5600? Does anyone *KNOW* someone who does? Does anyone have the mearest *CLUE* as to how to get around the compiler bugs? (Already tried the "#define register" trick.) *ANY* info, hints, pointers, pointers to info, pointers to pointers, etc, would be appreciated. TIA, Vonn Marsch (vonn%entropy.ms@beaver.cs)