[RFR] [8u] 8189761: COMPANY_NAME, IMPLEMENTOR, BUNDLE_VENDOR, VENDOR, but no configure flag

Langer, Christoph christoph.langer at sap.com
Tue Mar 26 21:57:54 UTC 2019


Hi Andrew,

thanks for doing this backport. I agree, Severin's finding needs to be added to hotspot's Unix/Posix vm.make files.

Also, the additional printing of those variables in the Unixish buildtree.make files should be added to windows' make/windows/build.make in target $(variantDir)\local.make.

Other than that, I'm running a build on Windows and it looks good.

Best regards
Christoph

> -----Original Message-----
> From: jdk8u-dev <jdk8u-dev-bounces at openjdk.java.net> On Behalf Of
> Severin Gehwolf
> Sent: Dienstag, 26. März 2019 12:37
> To: Andrew John Hughes <gnu.andrew at redhat.com>; 'jdk8u-
> dev at openjdk.java.net' <jdk8u-dev at openjdk.java.net>; build-
> dev at openjdk.java.net
> Subject: Re: [RFR] [8u] 8189761: COMPANY_NAME, IMPLEMENTOR,
> BUNDLE_VENDOR, VENDOR, but no configure flag
> 
> 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