[RFR] [8u] 8189761: COMPANY_NAME, IMPLEMENTOR, BUNDLE_VENDOR, VENDOR, but no configure flag
Severin Gehwolf
sgehwolf at redhat.com
Tue Mar 26 11:37:14 UTC 2019
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
More information about the jdk8u-dev
mailing list