[comp.sys.ibm.pc.rt] Perl 3.0 PL12 under AIX/RT 2.2.1 PTF1757

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