On Thu, Oct 27, 2016 at 2:22 PM, Volker Simonis <volker.simo...@gmail.com> wrote: > Hi, > > currently libelf support is checked on every 64-bit Linux and Solaris > platform (see lib-elf.m4): > > if ((test "x$OPENJDK_TARGET_OS" = "xlinux" \ > || test "x$OPENJDK_TARGET_OS" = "xsolaris") && \ > (test "x$OPENJDK_TARGET_CPU_BITS" = "x64")); then > LIBJELFSHIM_ENABLED="true" > else > LIBJELFSHIM_ENABLED="false" > fi > > As far as I understand, this is only required for AOT and should > therefore only be checked for if AOT is enabled. We could do something > similar like for FFI (see libraries.m4): > > # Check if ffi is needed > if HOTSPOT_CHECK_JVM_VARIANT(zero) || > HOTSPOT_CHECK_JVM_VARIANT(zeroshark); then > NEEDS_LIB_FFI=true > else > NEEDS_LIB_FFI=false > fi > > And then test for "NEEDS_LIB_JELFSHIM" in lib-elf.m4 instead of > testing for a specific platform. > > Otherwise we get ugly warning like: > > WARNING: Could not find libelf! Not building libjelfshim.so >
And I think in the case where we compile for AOT, we should print the usual, platform-dependent hints like for example: libelf.so not found: try to run 'sudo apt-get install libelf-dev' > during configuration if we are running on platforms without AOT > support or if AOT support is switched of. > > Regards, > Volker > > > > On Thu, Oct 27, 2016 at 2:45 AM, Vladimir Kozlov > <vladimir.koz...@oracle.com> wrote: >> AOT JEP: >> https://bugs.openjdk.java.net/browse/JDK-8166089 >> Subtask: >> https://bugs.openjdk.java.net/browse/JDK-8166416 >> Webrev: >> http://cr.openjdk.java.net/~kvn/aot/top.webrev/ >> http://cr.openjdk.java.net/~kvn/aot/jdk.webrev/ >> http://cr.openjdk.java.net/~kvn/aot/hs.make.webrev/ >> >> Please, review build changes for AOT. Only Linux/x64 platform is supported. >> 'jaotc' and AOT part of Hotspot will be build only on Linux/x64. >> >> Changes include new 'jaotc' launcher, makefile changes to build >> jdk.vm.compiler (Graal) and jdk.aot modules used by 'jaotc'. >> Both modules sources are located in Hotspot: hotspot/src/jdk.aot and >> hotspot/src/jdk.vm.compiler. >> 'jaotc' requires installed libelf package on a system to build native part >> of 'jaotc'. It is used to generated AOT shared libraries (.so) as result of >> AOT compilation. >> >> Hotspot makefile changes will be pushed together with Hotspot AOT changes. >> >> Thanks, >> Vladimir