Hi, could you please review the following change:
http://cr.openjdk.java.net/~simonis/webrevs/8028537/ which, together with the changes from "8031581: PPC64: Addons and fixes for AIX to pass the jdk regression tests" and "8031134 : PPC64: implement printing on AIX" enables our our port to pass all but the following 7 jtreg regression tests on AIX (compared to the Linux/x86_64 baseline from www.java.net/download/jdk8/testresults/testresults.html): java/net/Inet6Address/B6558853.java java/nio/channels/AsynchronousChannelGroup/Basic.java (sporadically) java/nio/channels/AsynchronousChannelGroup/GroupOfOne.java java/nio/channels/AsynchronousChannelGroup/Unbounded.java (sporadically) java/nio/channels/Selector/RacyDeregister.java sun/security/krb5/auto/Unreachable.java (only on IPv6) The change is only big in the amount of files it touches but rather small in the amount of actual code changes so I flagged it with S/L. Most changes simply add AIX as a known platform to the OS detection sections of the various tests. The are either of the form: case "$OS" in - SunOS | Linux | Darwin ) + SunOS | Linux | Darwin | AIX ) PATHSEP=":" or: isSolaris=true ;; + AIX ) + OS="AIX" + isAIX=true + ;; Windows* ) OS="Windows" The following explanations only mention test with changes different to the ones above: test/ProblemList.txt - Added three tests which currently don't work on AIX. test/com/sun/java/swing/plaf/windows/8016551/bug8016551.java - This test calls JFrame.setDefaultCloseOperation() which is not allowed under the security manager which is active if the test are running in agentvm mode. So better always run this test in othervm mode. test/com/sun/jdi/PrivateTransportTest.sh - On AIX, we have to use LIBPATH instead of LD_LIBRARY_PATH. test/com/sun/nio/sctp/SctpChannel/Util.java test/com/sun/nio/sctp/SctpMultiChannel/Util.java test/com/sun/nio/sctp/SctpServerChannel/Util.java - On AIX, we currently haven't implemented SCTP but we nevertheless compile the shared SCTP classes into the runtime class library. This way the AIX JDK can at least compile SCTP applications altough it can not run them. To support this scenario, the runtime check for the availability of SCTP has to be extended to catch UnsatisfiedLinkError and NoClassDefFoundError. UnsatisfiedLinkError will be thrown the first time when the class SctpChannelImpl will be loaded because it cannot load the its native support library in the static initialisation section. On the next load attempt of the class, a NoClassDefFoundError will be thrown because of the previously failed initialisation. test/java/net/DatagramSocket/Send12k.java - AIX throws an IOException: Message too long if the message is too long. DatagramSocket.send() is specified to throw an IOException so better don't be too specific in the catch clause. test/java/nio/file/Files/SBC.java - AIX actually supports symbolic links, but it does not support NOFOLLOW_LINKS, or more exactly the O_NOFOLLOW flag to the open() system call which is tested here. test/java/nio/file/Files/walkFileTree/find.sh - On AIX find -follow may core dump on recursive links without '-L' (see http://www-01.ibm.com/support/docview.wss?uid=isg1IV28143). test/java/util/logging/AnonLoggerWeakRefLeak.sh test/java/util/logging/LoggerWeakRefLeak.sh - Only treat missing jmap options as warnings and not as errors. test/sun/rmi/rmic/newrmic/equivalence/batch.sh - On AIX the diff utility doesn't detect binary files and thus outputs the full diff of different class files which makes the test fail. Because the generated class files aren’t used or checked anyway we can completely omit the generation of class files by always using the -nowrite option. - Also reformatted the command lines to make the differences more apparent. test/tools/launcher/ExecutionEnvironment.java - On AIX, we have to use LIBPATH instead of LD_LIBRARY_PATH. - AIX does not support the -rpath linker options so the launchers have to prepend the jdk library path to LIBPATH. test/tools/launcher/Settings.java - On PPC64 we need a bigger stack size. Thank you and best regards, Volker