Build OpenJDK class library on AIX
Hi folks, I've just pushed the last series of patches to enable OpenJDK class library to be built on AIX platform, if you pull the latest source code, it should be able to build on AIX 64bit platform successfully. But please notice that these patches does not bring all the features from Java7 specification, such as asynchronous channels or SCTP, only mean to be a starting point for current stage. Among those changes, there're several non-trivial ones, I'm listing them here to catch your eyes, if you have any better ideas please just give a comment :) AWT bring up http://hg.openjdk.java.net/ppc-aix-port/jdk7u/jdk/rev/478a5641010f Network interface enumeration http://hg.openjdk.java.net/ppc-aix-port/jdk7u/jdk/rev/84c19032331c Use MacOSX' BsdVirtualMachine to provide tools/attach http://hg.openjdk.java.net/ppc-aix-port/jdk7u/jdk/rev/a628a353f05e Host entry retrieval http://hg.openjdk.java.net/ppc-aix-port/jdk7u/jdk/rev/6f14c4e89fbf BTW for my AIX build, I was using VM of IBMSDK as import VM for now (will try HotSpot soon), so have to apply following change as workaround, diff -r 6f14c4e89fbf src/share/native/common/check_code.c --- a/src/share/native/common/check_code.c Mon Aug 13 20:59:18 2012 +0800 +++ b/src/share/native/common/check_code.c Mon Aug 13 21:09:57 2012 +0800 @@ -4258,7 +4258,13 @@ JNIEnv *env = context->env; jclass cb = context->class; const char *classname = JVM_GetCPFieldClassNameUTF(env, cb, index); + +#if !defined(AIX) const char *fieldname = JVM_GetCPFieldNameUTF(env, cb, index); +#else + const char *fieldname = null; +#endif + jio_fprintf(stdout, " <%s.%s>", classname ? classname : "", fieldname ? fieldname : ""); JVM_ReleaseUTF(classname); diff -r 6f14c4e89fbf src/share/native/java/lang/Thread.c --- a/src/share/native/java/lang/Thread.c Mon Aug 13 20:59:18 2012 +0800 +++ b/src/share/native/java/lang/Thread.c Mon Aug 13 21:09:57 2012 +0800 @@ -56,7 +56,9 @@ {"holdsLock", "(" OBJ ")Z", (void *)&JVM_HoldsLock}, {"getThreads", "()[" THD, (void *)&JVM_GetAllThreads}, {"dumpThreads", "([" THD ")[[" STE, (void *)&JVM_DumpThreads}, +#if !defined(AIX) {"setNativeName", "(" STR ")V", (void *)&JVM_SetNativeThreadName}, +#endif }; #undef THD Thanks Jonathan
participants (1)
-
Jonathan Lu