We currently need two different host JVMs to successfully build Jikes RVM on Linux/PowerPC.
One must use the IBM Java 6 JVM (currently recommend SR1) to build & compile the GNU Classpath class libraries. GNU Classpath uses sun.misc.Unsafe.putOrderedObject, which is not defined in the IBM Java 5 SDKs, but is defined in the Java 6 SDK. However, using this JVM as the host JVM for the bootimage writer produces non-working Jikes RVM images and/or crashes for some configurations. To robustly run the bootimage writer, you need to use Java 5 (currently recommend SR7 or SR8).
The easiest way to workaround this, is to install both SDKs on the machine, but make the Java5 one the default one (found in the path when building Jikes RVM). Hack the script RVM_ROOT/components/ecj/3.2/ecj-3.2/ecj to explictly invoke the Java 6 JVM instead of just 'java'. This will let the GNU classpath build use Java 6 to compile its sources while using Java 5 to build the bootimage. This is the workaround we are using for nightly regressions on both piano and rvmppclnx64.
As each new SR of Java 6 comes out, we need to see if it is capable of building the bootimage. If it is, then we could simply switch the Java 6 across the board to build on Linux/PowerPC.