Hi Andrew, On Tue, 2019-03-26 at 01:59 +0000, Andrew John Hughes wrote: > Bug: https://bugs.openjdk.java.net/browse/JDK-8189761 > Webrev(s): > https://cr.openjdk.java.net/~andrew/openjdk8/8189761/hotspot/
105 CXXFLAGS/vm_version.o += ${JRE_VERSION} 106 CXXFLAGS/arguments.o += ${VERSION_CFLAGS} This got me curious why VERSION_CFLAGS would only be needed for arguments.o. This hunk: +ifneq ($(COMPANY_NAME),) + # COMPANY_NAME is set to "N/A" in $AUTOCONF_DIR/version-numbers by default, + # but can be customized with the '--with-vendor-name' configure option. + # Only export "VENDOR" to the build if COMPANY_NAME contains a real value. + # Otherwise the default value for VENDOR, which is used to set the "java.vendor" + # and "java.vm.vendor" properties is hard-coded into the source code (i.e. in + # System.c in the jdk for "vm.vendor" and vm_version.cpp in the VM for "java.vm.vendor") + ifneq ($(COMPANY_NAME), N/A) + VERSION_CFLAGS += -DVENDOR='"$(COMPANY_NAME)"' + endif +endif ... mentions System.c (jdk) and vm_version.cpp (hotspot). Indeed, java.vm.vendor doesn't change when --with-vendor-name="Red Hat Inc." is being passed for a patched JDK 8u: $ ./bin/java -XshowSettings -version 2>&1 | grep vendor java.specification.vendor = Oracle Corporation java.vendor = Red Hat Inc. java.vendor.url = http://java.oracle.com/ java.vendor.url.bug = http://bugreport.sun.com/bugreport/ java.vm.specification.vendor = Oracle Corporation java.vm.vendor = Oracle Corporation That's different from a JDK 11u build: $ ./bin/java -XshowSettings -version 2>&1 | grep vendor bin/java -XshowSettings -version 2>&1 | grep vendor java.specification.vendor = Oracle Corporation java.vendor = Red Hat Inc. java.vendor.url = http://java.oracle.com/ java.vendor.url.bug = http://bugreport.java.com/bugreport/ java.vendor.version = 18.9 java.vm.specification.vendor = Oracle Corporation java.vm.vendor = Red Hat Inc. This should fix it: CXXFLAGS/vm_version.o += ${JRE_VERSION} ${VERSION_CFLAGS} Thanks, Severin