droms%BKNLVMS.BITNET@CUNYVM.CUNY.EDU (03/01/88)
I recently moved the cross-development software for the Xinu operating system to Ultrix V2.2. The list below gives a summary of problems and/or anomalies I discovered. I'd like to hear about similar experiences; are these truly bugs, or am I doing something wrong? Please respond to me directly as droms@bknlvms.bitnet, as I am not subscribed to this mailing list. - Ralph Droms Bucknell University droms@bknlvms.bitnet ===== 1. The (pcc-based) C compiler flagged the following (syntactically incorrect) boolean expression as a "syntax error" several lines after the line containing the error. In fact, the line at which the error was finally flagged was in the middle of a comment block, making the error itself difficult to find. The Berkeley pcc compiler found the error immediately: if (a ! = b) { 2. getc(stream) is not always equivalent to fgetc(stream). The Xinu LSI 11 cross-compiler uses getchar() (which is #defined as getc(stdin)) and ungetc(stdin, c). The cross-compiler fails unless getchar() is re#defined to fgetc(stdin). 3. kill -HUP 1 does not release terminal lines set to "off" in /etc/ttys. 4. (This is, technically, not a bug.) The (pcc-based) C compiler honors more reserved identifiers than the Berkeley pcc compiler. Specifically, the identifier const (used in the Xinu cross-compiler) is an ANSI-standard reserved identifier in the Ultrix C compiler; const must be replaced by, e.g., xconst, to compile the Xinu cross-compiler under Ultrix.