kaz@cadovax.UUCP (04/07/87)
[] I just finished spending several days tracking down a problem I was having compiling Drew's version 2.05m shell with the Manx 3.04a compiler. The program would compile just fine, but after executing any command with the newly compiled shell, the system would GURU. The problem was solved by changing the declaration of "_devtab" in the execom.c module. The original declaration was: extern struct _dev _devtab[]; I had to change the declaration to: extern struct _dev *_devtab; In other words, prior to 3.04a, _devtab was an array of _dev structures. With the new compiler, _devtab is a pointer to an array of _dev structures. I figured this out by comparing the old and new definitions of __main, where _devtab is created. The GURU occured because in the shell's fcomm() routine, the contents of _devtab was being changed rather than what _devtab points to. The source for the shell is included with the 3.04a compiler. I guess no one tried to compile and run it, or they would have run into the problem I encountered. I hope this posting saves someone the debug time I spent. Kerry Zimmerman # {ucbvax,ihnp4,decvax}!trwrb!cadovax!kaz # cadovax!kaz@ucla-locus.arpa