[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