Compile error in codeBlob.cpp when building JDK-11 for Windows-32
David Holmes
david.holmes at oracle.com
Mon Sep 17 03:32:57 UTC 2018
<dropped build-dev>
We've seen this problem before:
https://bugs.openjdk.java.net/browse/JDK-8196880
As Magnus noted Oracle doesn't support 32-bit builds any more, and as
far as I can see no-one does. AdoptOpenJDK doesn't.
But as long as the code remains we can fix issues if they are raised.
I've filed:
https://bugs.openjdk.java.net/browse/JDK-8210803
Cheers,
David
On 14/09/2018 6:37 PM, Magnus Ihse Bursie wrote:
>
> On 2018-09-14 10:03, Robert Lichtenberger wrote:
>> I have tried to build a Windows 32-bit JDK-11. While I was successful in
>> building a 64-bit Windows JDK, the attempt for 32-bit failed:
>>
>> Here's what I did:
>>
>> $ bash configure --with-boot-jdk=/cygdrive/c/jdk-10.0.2
>> --disable-warnings-as-errors --with-target-bits=32
>> ...
>>
>> ====================================================
>> The existing configuration has been successfully updated in
>> /cygdrive/c/jdk/jdk11/build/windows-x86-normal-server-release
>> using configure arguments '--with-boot-jdk=/cygdrive/c/jdk-10.0.2
>> --disable-warnings-as-errors --with-target-bits=32'.
>>
>> Configuration summary:
>> * Debug level: release
>> * HS debug level: product
>> * JVM variants: server
>> * JVM features: server: 'cds cmsgc compiler1 compiler2 epsilongc g1gc
>> jfr jni-check jvmti management nmt parallelgc serialgc services
>> vm-structs'
>> * OpenJDK target: OS: windows, CPU architecture: x86, address length: 32
>> * Version string: 11-internal+0-adhoc.synedra.jdk11 (11-internal)
>>
>> Tools summary:
>> * Environment: cygwin version 2.10.0(0.325/5/3) (root at
>> /cygdrive/c/cygwin64)
>> * Boot JDK: openjdk version "10.0.2" 2018-07-17 OpenJDK Runtime
>> Environment 18.3 (build 10.0.2+13) OpenJDK 64-Bit Server VM 18.3 (build
>> 10.0.2+13, mixed mode) (at /cygdrive/c/jdk-10.0.2)
>> * Toolchain: microsoft (Microsoft Visual Studio 2017)
>> * C Compiler: Version 19.15.26729 (at
>> /cygdrive/c/progra~2/micros~1/2017/commun~1/vc/tools/msvc/1415~1.267/bin/hostx86/x86/cl)
>>
>> * C++ Compiler: Version 19.15.26729 (at
>> /cygdrive/c/progra~2/micros~1/2017/commun~1/vc/tools/msvc/1415~1.267/bin/hostx86/x86/cl)
>>
>>
>> Build performance summary:
>> * Cores to use: 2
>> * Memory limit: 16383 MB
>> ...
>>
>> $ time make CONF=windows-x86-normal-server-release all
>> Building target 'all' in configuration
>> 'windows-x86-normal-server-release'
>> c:/jdk/jdk11/src/hotspot/share/code/codeBlob.cpp(229): error C2956:
>> sized deallocation function 'operator delete(void*, size_t)' would be
>> chosen as placement deallocation function.
>> predefined C++ types (compiler internal)(44): note: see declaration of
>> 'operator delete'
>> c:/jdk/jdk11/src/hotspot/share/code/codeBlob.cpp(250): error C2956:
>> sized deallocation function 'operator delete(void*, size_t)' would be
>> chosen as placement deallocation function.
>> predefined C++ types (compiler internal)(44): note: see declaration of
>> 'operator delete'
>> c:/jdk/jdk11/src/hotspot/share/code/codeBlob.cpp(289): error C2956:
>> sized deallocation function 'operator delete(void*, size_t)' would be
>> chosen as placement deallocation function.
>> predefined C++ types (compiler internal)(44): note: see declaration of
>> 'operator delete'
>> c:/jdk/jdk11/src/hotspot/share/code/codeBlob.cpp(312): error C2956:
>> sized deallocation function 'operator delete(void*, size_t)' would be
>> chosen as placement deallocation function.
>> predefined C++ types (compiler internal)(44): note: see declaration of
>> 'operator delete'
>> c:/jdk/jdk11/src/hotspot/share/code/codeBlob.cpp(333): error C2956:
>> sized deallocation function 'operator delete(void*, size_t)' would be
>> chosen as placement deallocation function.
>> predefined C++ types (compiler internal)(44): note: see declaration of
>> 'operator delete'
>> c:/jdk/jdk11/src/hotspot/share/code/codeBlob.cpp(372): error C2956:
>> sized deallocation function 'operator delete(void*, size_t)' would be
>> chosen as placement deallocation function.
>> predefined C++ types (compiler internal)(44): note: see declaration of
>> 'operator delete'
>> c:/jdk/jdk11/src/hotspot/share/code/codeBlob.cpp(437): error C2956:
>> sized deallocation function 'operator delete(void*, size_t)' would be
>> chosen as placement deallocation function.
>> predefined C++ types (compiler internal)(44): note: see declaration of
>> 'operator delete'
>> c:/jdk/jdk11/src/hotspot/share/code/codeBlob.cpp(470): error C2956:
>> sized deallocation function 'operator delete(void*, size_t)' would be
>> chosen as placement deallocation function.
>> predefined C++ types (compiler internal)(44): note: see declaration of
>> 'operator delete'
>> c:/jdk/jdk11/src/hotspot/share/code/codeBlob.cpp(506): error C2956:
>> sized deallocation function 'operator delete(void*, size_t)' would be
>> chosen as placement deallocation function.
>> predefined C++ types (compiler internal)(44): note: see declaration of
>> 'operator delete'
>> c:/jdk/jdk11/src/hotspot/share/code/codeBlob.cpp(541): error C2956:
>> sized deallocation function 'operator delete(void*, size_t)' would be
>> chosen as placement deallocation function.
>> predefined C++ types (compiler internal)(44): note: see declaration of
>> 'operator delete'
>> make[3]: *** [lib/CompileJvm.gmk:151:
>> /cygdrive/c/jdk/jdk11/build/windows-x86-normal-server-release/hotspot/variant-server/libjvm/objs/codeBlob.obj]
>>
>> Error 1
>> make[2]: *** [make/Main.gmk:257: hotspot-server-libs] Error 2
>> make[2]: *** Waiting for unfinished jobs....
>>
>> ERROR: Build failed for target 'all' in configuration
>> 'windows-x86-normal-server-release' (exit code 2)
>
> This is most likely due to some issue on new/delete operators works,
> which are undergoing changes in the language. That is, a code issue on
> hotspot.
>
> I don't know why you are seeing this on windows-x86 though.
> https://msdn.microsoft.com/en-us/library/mt723604.aspx suggests that you
> can disable this check by -Zc:sizedDealloc-. Do this by "configure
> --with-extra-cxxflags=Zc:sizedDealloc-".
>
>> On a meta-level: Is a JDK for Windows 32-bit just built no longer or is
>> it completely abandoned as a platform?
>
> Oracle is not building 32-bit Windows regularly, and I don't think
> anyone else is doing that. (Perhaps AdoptOpenJDK?) In such a scenario,
> the code quickly bit rots. There has been no decision as of yet to
> remove the code from the code base, but unless someone steps up to
> maintain the code base, it's unlikely to survive in the long term.
>
> /Magnus
More information about the hotspot-dev
mailing list