[8u] RFR (S) 8272714: [8u] Build failure after backport of JDK-8248901 with MSVC 2013
Severin Gehwolf
sgehwolf at redhat.com
Fri Aug 20 09:26:05 UTC 2021
On Thu, 2021-08-19 at 13:35 +0200, Aleksey Shipilev wrote:
> 8u-specific bug:
> https://bugs.openjdk.java.net/browse/JDK-8272714
>
> Previous fix (JDK-8272214) handled MSVC 2010, but my build servers that run MSVC 2013 also fail with
> the same error message. Here is the fix that replaces the MSVC version check by replacing with the
> actual definition test.
>
> Testing: building with MSVC 2010 and MSVC 2013
>
> 8272714: [8u] Build failure after backport of JDK-8248901 with MSVC 2013
> Summary: Relax the check to accept more MSVC versions
> Reviewed-by: XXX
>
> diff -r 21394894714b -r 0a9dbaad59a4 src/share/vm/utilities/globalDefinitions_visCPP.hpp
> --- a/src/share/vm/utilities/globalDefinitions_visCPP.hpp Wed Aug 18 11:17:04 2021 +0200
> +++ b/src/share/vm/utilities/globalDefinitions_visCPP.hpp Thu Aug 19 13:22:23 2021 +0200
> @@ -77,10 +77,12 @@
> // pointer is stored as integer value.
> #define NULL_WORD NULL
>
> -// MS Visual Studio 10 doesn't seem to have INT64_C and UINT64_C even with
> +// MS Visual Studio 10 and 13 do not seem to have INT64_C and UINT64_C even with
> // __STDC_CONSTANT_MACROS defined.
> -#if _MSC_VER <= 1600
> +#ifndef INT64_C
> #define INT64_C(c) (c ## i64)
> +#endif
> +#ifndef UINT64_C
> #define UINT64_C(c) (c ## ui64)
> #endif
When I've tested this on Windows it was also on VS 2013, so the comments seem a bit misleading.
The build that worked:
https://ci.adoptopenjdk.net/job/build-scripts/job/jobs/job/jdk8u/job/jdk8u-windows-x64-hotspot/1089/
15:09:56 Tools summary:
15:09:56 * Environment: cygwin version 3.1.4(0.340/5/3) (root at /cygdrive/c/cygwin64)
15:09:56 * Boot JDK: openjdk version "1.7.0_75" OpenJDK Runtime Environment (build 1.7.0_75-b13) OpenJDK Client VM (build 24.75-b04, mixed mode) (at /cygdrive/c/openjdk/jdk7)
15:09:56 * Toolchain: microsoft (Microsoft Visual Studio 2013)
15:09:56 * C Compiler: Version 18.00.40629 (at /cygdrive/c/progra~2/micros~1.0/vc/bin/amd64/cl)
15:09:56 * C++ Compiler: Version 18.00.40629 (at /cygdrive/c/progra~2/micros~1.0/vc/bin/amd64/cl)
Your failed build has:
Tools summary:
* Environment: cygwin version 3.2.0(0.340/5/3) (root at /cygdrive/c/cygwin64)
* Boot JDK: openjdk version "1.8.0-internal" OpenJDK Runtime Environment (build 1.8.0-internal-_2021_02_11_14_43-b00) OpenJDK 64-Bit Server VM (build 25.71-b00, mixed mode) (at /cygdrive/c/buildbot/jdks/jdk8/)
* Toolchain: microsoft (Microsoft Visual Studio 2013)
* C Compiler: Version 18.00.31101 (at /cygdrive/c/progra~2/micros~1.0/vc/bin/x86_am~1/cl)
* C++ Compiler: Version 18.00.31101 (at /cygdrive/c/progra~2/micros~1.0/vc/bin/x86_am~1/cl)
I'm fine with the patch, but please change the comments as they're not
correct. At least VS2013 doesn't universally fail.
Thanks,
Severin
More information about the jdk8u-dev
mailing list