RFR(xs): 8221375: Windows 32bit build (VS2017) broken

Thomas Stüfe thomas.stuefe at gmail.com
Sun Mar 24 20:58:44 UTC 2019


Hi all,

After a long time I tried to build a Windows 32bit VM (VS2017) and failed;
multiple errors and warnings. Lets reverse the bitrot:

cr:
http://cr.openjdk.java.net/~stuefe/webrevs/8221375--windows-32bit-build-(vs2017)-broken-in-many-places/webrev.00/webrev/

Issue: https://bugs.openjdk.java.net/browse/JDK-8221375

Most of the fixes are trivial: Calling convention mismatches (awt DTRACE
callbacks), printf specifiers etc.

Had to supress a warning in os_windows_x86.cpp - I was surprised by this
since this did not look 32bit specifc, do we disable warnings on Windows
64bit builds?

The error I had in vmStructs.cpp was a bit weird: compiler complained about
an assignment of an enum value defined like this:

hash_mask_in_place       = (address_word)hash_mask << hash_shift

to an uint64_t variable, complaining about narrowing. I did not find out
what his problem was. In the end, I decided to add an explicit cast to
GENERATE_VM_LONG_CONSTANT_ENTRY(name) (see vmStructs.hpp).

With this patch we can build with warnings enabled on 32bit and 64bit
windows.

Since patch fixes both hotspot and JDK parts, I'm sending it to hs-dev and
core-libs-dev.

Thanks, Thomas


More information about the core-libs-dev mailing list