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