RFR

Erik Joelsson erik.joelsson at oracle.com
Tue Apr 7 15:15:56 UTC 2015


Hello,

When upgrading the toolchain to VS2013, management.dll stopped working 
on certain Windows hosts. I've identified this to be related to the call 
to GetProcessMemoryInfo. By adding -DPSAPI_VERSION=1 to CFLAGS, the 
problem goes away.

Bug: https://bugs.openjdk.java.net/browse/JDK-8076557
Patch inline:

diff -r 85380cfe4f0f make/lib/Lib-java.management.gmk
--- a/make/lib/Lib-java.management.gmk  Tue Apr 07 10:33:08 2015 +0100
+++ b/make/lib/Lib-java.management.gmk  Tue Apr 07 17:11:29 2015 +0200
@@ -38,6 +38,11 @@
      $(LIBJAVA_HEADER_FLAGS) \
      #

+# In (at least) VS2013 and later, -DPSAPI_VERSION=1 is needed to generate
+# a binary that is compatible with windows versions older than 7/2008R2.
+# See MSDN documentation for GetProcessMemoryInfo for more information.
+BUILD_LIBMANAGEMENT_CFLAGS += -DPSAPI_VERSION=1
+
  BUILD_LIBMANAGEMENT_EXCLUDES :=

  ifneq ($(OPENJDK_TARGET_OS), solaris)


/Erik



More information about the build-dev mailing list