jw@pan.UUCP (Jamie Watson) (03/11/90)
I have (finally) succeeded in getting the latest version of perl running correctly on an IBM RT/PC. I know that perl is a real torture test for C compilers; the AIX/RT C compiler fails the test miserably. I understand now why IBM is so anxious to kill the RT line... - There has been some attempt to implement "volatile" in the AIX/RT C compiler. Well, it recognizes the keyword, anyway; it is broken in so many different ways that at least 5 or 6 different files will not compile; even after modifying the sources sufficiently to compile, it is so broken the the resulting executable dumps core all over. > after running Configure, edit config.h and undefine HASVOLATILE. - In "dolist.c", the code at lines 690 and 714 cause a compiler error. The expression "((int)str_gnum(st[sp])) - arybase" is the culprit. > create a temporary variable to hold the value of this expression, and use it in the call to "afetch(...)". - The optimizer generates bogus code from "toke.c". The compilation succeeds (but takes forever), but quite a few tests fail because of parsing errors. > compile toke.c without optimization (cc -c toke.c). - The optimizer produces a fatal compiler error in "doio.c". Also, this file produces large addresses, so it must be compiled with "-a". > compile doio.c without optimization, and with -a. (cc -a -c doio.c). - Configure needlessly includes -lbsd and -lPW in the link command. > after running Configure, edit Makefile and remove "-lbsd -lPW". After making these changes, perl compiles and all the tests succeed. jw