Hi Matthias, I think the change is good. As regards to libperfstat usage: I think we should clean this up and try to link during the build/use the system headers. We don't need to support AIX V5.3 as build release any longer and probably all required functionality is contained in the headers of the required minimum AIX build release. This needs to be doublechecked when attempting the cleanup, though. Best regards Christoph
-----Original Message----- From: hotspot-dev <hotspot-dev-bounces@openjdk.java.net> On Behalf Of Baesken, Matthias Sent: Freitag, 12. April 2019 14:52 To: ppc-aix-port-dev@openjdk.java.net; 'hotspot-dev@openjdk.java.net' <hotspot-dev@openjdk.java.net> Subject: RFR : 8222280 : Provide virtualization related info in the hs_error file on AIX
Hello, please review the following change . It brings AIX related virtualization information into the hs_err file .
While preparing the patch I wondered a bit about the libperfstat usage in OpenJDK (Hotspot compared to JDK ). In JDK we link already to libperfstat at build time , see :
jdk/make/lib/Lib-java.management.gmk BUILD_LIBMANAGEMENT
jdk/make/lib/Lib-jdk.management.gmk BUILD_LIBMANAGEMENT_EXT
While in hotspot dlopen/dladdr is used , see jdk/src/hotspot/os/aix/libperfstat_aix.cpp
58 bool libperfstat::init() { 59 60 // Dynamically load the libperfstat porting library. 61 g_libhandle = dlopen("/usr/lib/libperfstat.a(shr_64.o)", RTLD_MEMBER | RTLD_NOW); 62 if (!g_libhandle) { 63 trcVerbose("Cannot load libperfstat.a (dlerror: %s)", dlerror()); 64 return false; 65 }
we dlopen and then resolve symbols at runtime. This was probably a good thing back then when AIX 5.3 was still supported as build platform , but I am not sure if it is still needed these days on AIX 7.1/7.2 .
But in case the dlopen/dladdr approach in HS is still needed/wanted , I would switch to the libperfstat:: functions .
Bug/webrev :
https://bugs.openjdk.java.net/browse/JDK-8222280
http://cr.openjdk.java.net/~mbaesken/webrevs/8222280_aix_virt.0/
Thanks , Matthias