JDK-8329958 : Windows x86 build fails: downcallLinker.cpp(36) redefinition
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 22
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: windows
  • CPU: x86
  • Submitted: 2024-04-04
  • Updated: 2024-06-03
  • Resolved: 2024-05-27
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 22 JDK 23
22.0.2Fixed 23 b25Fixed
Related Reports
Relates :  
Relates :  
Description
A DESCRIPTION OF THE PROBLEM :
I am compiling OpenJDK since version 13 on my Windows Server machine in both variants
- windows-x86_x64-client-release
- windows-x86-client-release
and had no problems until today.

This time the x64 build succeeds, while the x86 build fails due to compilation errors.

I have double checked the build-guidelines and updated all build-tools, but it didn't help.
Although the x86 architecture is deprecated, it is still supported, so I would expect the build to work.

Could you please inspect my configure/make logs if there is a bug in the JVM Code, or if I am doing something wrong.

Thanks!

REGRESSION : Last worked in version 21.0.2


EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
build should succeed
ACTUAL -
build fails due to compilation errors

---------- BEGIN SOURCE ----------
==================== CONFIGURE ====================
USER@WINSERVER /home/dev/jdk-jdk-22-ga
$ bash configure --with-vendor-name="Rohde & Schwarz (OpenJDK)" --with-version-string=22 --with-target-bits=32 --with-jvm-variants=client --enable-deprecated-ports=yes
configure: Configuration created at Thu Apr  4 12:15:32 CEST 2024.
checking for basename... /usr/bin/basename
checking for dirname... /usr/bin/dirname
checking for file... /usr/bin/file
checking for ldd... /usr/bin/ldd
checking for echo... echo [builtin]
checking for tr... /usr/bin/tr
checking for uname... /usr/bin/uname
checking for wc... /usr/bin/wc
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for a sed that does not truncate output... /usr/bin/sed
checking for cygpath... /usr/bin/cygpath
checking for cmd.exe... /cygdrive/c/Windows/system32/cmd.exe
checking build system type... x86_64-pc-cygwin
checking host system type... x86_64-pc-cygwin
checking target system type... x86_64-pc-cygwin
checking openjdk-build os-cpu... windows-x86_64
checking openjdk-target os-cpu... windows-x86_64
checking compilation type... reduced
configure: WARNING: The Windows 32-bit x86 port is deprecated and may be removed in a future release.
checking Windows environment type... cygwin
checking cygwin drive prefix... '/cygdrive'
checking cygwin root directory as Windows path... 'C:\cygwin64'
checking cygwin temp directory... /tmp
checking cygwin release... 3.5.1-1.x86_64
checking cygwin version... 2024-02-27 11:54 UTC
checking Windows version... 10.0.17763.5576
checking what kind of 'find' is first on the PATH... unix style
checking for top-level directory... /home/dev/jdk-jdk-22-ga
checking for bash... /usr/bin/bash
checking for cat... /usr/bin/cat
checking for chmod... /usr/bin/chmod
checking for cp... /usr/bin/cp
checking for cut... /usr/bin/cut
checking for date... /usr/bin/date
checking for gdiff... [not found]
checking for diff... /usr/bin/diff
checking for expr... /usr/bin/expr
checking for find... /usr/bin/find
checking for gunzip... /usr/bin/gunzip
checking for pigz... [not found]
checking for gzip... /usr/bin/gzip
checking for head... /usr/bin/head
checking for ln... /usr/bin/ln
checking for ls... /usr/bin/ls
checking for gmkdir... [not found]
checking for mkdir... /usr/bin/mkdir
checking for mktemp... /usr/bin/mktemp
checking for mv... /usr/bin/mv
checking for gawk... /usr/bin/gawk
checking for printf... printf [builtin]
checking for rm... /usr/bin/rm
checking for rmdir... /usr/bin/rmdir
checking for sh... /usr/bin/sh
checking for sort... /usr/bin/sort
checking for tail... /usr/bin/tail
checking for gtar... [not found]
checking for tar... /usr/bin/tar
checking for tee... /usr/bin/tee
checking for touch... /usr/bin/touch
checking for xargs... /usr/bin/xargs
checking for fgrep... /usr/bin/grep -F
checking for df... /usr/bin/df
checking for git... $FIXPATH /cygdrive/c/progra~1/git/cmd/git.exe
checking for nice... /usr/bin/nice
checking for greadlink... [not found]
checking for readlink... /usr/bin/readlink
checking for whoami... /usr/bin/whoami
checking for lsb_release... [not found]
checking for cmp... /usr/bin/cmp
checking for uniq... /usr/bin/uniq
checking for build environment type... dev, default (calculated from 'auto')
checking if custom source is suppressed (openjdk-only)... disabled, default
checking for --enable-debug... disabled, default
checking which debug level to use... release
checking which variants of the JVM to build... client
checking if absolute paths should be allowed in the build output... no, release build
checking for toolchain path...
checking for sysroot...
checking for extra path...
checking where to store configuration... in default location
checking what configuration name to use... windows-x86-client-release
checking for zypper... [not found]
checking for apt-get... [not found]
checking for yum... [not found]
checking for brew... [not found]
checking for port... [not found]
checking for pkgutil... [not found]
checking for pkgadd... [not found]
checking for pacman... [not found]
checking for apk... [not found]
checking for pandoc... [not found]
checking for gmake... [not found]
checking for make... /usr/bin/make
configure: Testing potential make at /usr/bin/make, found using make in PATH
configure: Using GNU make at /usr/bin/make (version: GNU Make 4.4.1)
checking if make --output-sync is supported... yes
checking for make --output-sync value... none, default
checking if find supports -delete... yes
checking what type of tar was found... gnu
checking that grep (/usr/bin/grep) -Fx handles empty lines in the pattern list correctly... yes
checking for unzip... /usr/bin/unzip
checking for zip... /usr/bin/zip
checking for greadelf... [not found]
checking for readelf... [not found]
checking for dot... [not found]
checking for stat... /usr/bin/stat
checking for time... time [builtin]
checking for flock... /usr/bin/flock
checking for dtrace... [not found]
checking for gpatch... [not found]
checking for patch... [not found]
checking if date is a GNU compatible version... yes
checking bash version... 5.2.21
checking if bash supports pipefail... yes
checking if bash supports errexit (-e)... yes
checking for pkg-config... no
checking for default LOG value...
checking for JMOD compression type... zip-6, default
checking if packaged modules are kept... enabled, default
checking for --with-build-user... ***********, default
checking for --with-jdk-rc-name... OpenJDK Platform, default
checking for --with-vendor-name... Rohde & Schwarz (OpenJDK), from command line
checking for --with-vendor-url... https://openjdk.org/, default
checking for --with-vendor-bug-url... https://bugreport.java.com/bugreport/, default
checking for --with-vendor-vm-bug-url... https://bugreport.java.com/bugreport/crash.jsp, default
checking for --with-version-string... 22, from command line
checking for --with-version-feature... 22, default
checking for --with-version-date... 2024-03-19, default
checking for --with-vendor-version-string... <disabled>, default
checking for --with-macosx-bundle-name-base... OpenJDK, default
checking for --with-macosx-bundle-id-base... net.java.openjdk, default
checking for --with-macosx-bundle-build-version... 0, default
checking for version string... 22
configure: Found potential Boot JDK using JAVA_HOME
checking for Boot JDK... /cygdrive/c/progra~1/java/jdk-21
checking Boot JDK version... openjdk version "21-GA" 2023-09-19 OpenJDK Runtime Environment (build 21-GA) OpenJDK 64-Bit Server VM (build 21-GA, mixed mode)
checking for java [Boot JDK]... $BOOT_JDK/bin/java
checking for javac [Boot JDK]... $BOOT_JDK/bin/javac
checking for javadoc [Boot JDK]... $BOOT_JDK/bin/javadoc
checking for jar [Boot JDK]... $BOOT_JDK/bin/jar
checking if Boot JDK jar supports --date=TIMESTAMP... true
checking if Boot JDK is 32 or 64 bits... 64
checking for local Boot JDK Class Data Sharing (CDS)... yes, created
checking for Build JDK... yes, will use output dir
checking for docs-reference JDK... no, using interim javadoc for the docs-reference targets
checking what source date to use... 1712225842, from 'current' (default)
checking if we should build headless-only (no GUI)... disabled, default
checking if linker should clean out unused code (linktime-gc)... disabled, default
checking for graphviz dot... no, cannot generate full docs
checking for pandoc... no, cannot generate full docs
checking for --enable-full-docs... disabled, from default 'auto'
checking for cacerts file... default
checking for cacerts source... default
checking for --enable-unlimited-crypto... enabled, default
checking for jni library path... default
checking if static build is available... no
checking if static build is enabled... disabled, default
configure: Using default toolchain microsoft (Microsoft Visual Studio)
configure: Found Visual Studio installation at /cygdrive/c/progra~1/micros~2/2022 using well-known name
configure: Warning: None of vcvars32.bat vcvarsamd64_x86.bat were found, Visual Studio installation not recognized. Ignoring
configure: Found Visual Studio installation at /cygdrive/c/progra~2/micros~1/2022/BuildTools using well-known name
configure: Found Microsoft Visual Studio 2022
configure: Trying to extract Visual Studio environment variables for x86
configure: using /cygdrive/c/progra~2/micros~1/2022/BuildTools/vc/auxiliary/build/vcvars32.bat
configure: Setting extracted environment variables for x86
fixpath: warning: Path '/cygdrive/c/Users/********/AppData/Local/Microsoft/WindowsApps' does not exist
fixpath: warning: Path '/cygdrive/w/UT' does not exist
fixpath: warning: Path '/cygdrive/c/Program Files/Microsoft SQL Server/Client SDK/ODBC/170/Tools/Binn' does not exist
fixpath: failure: Path '/cygdrive/c/Program Files/Microsoft SQL Server/Client SDK/ODBC/170/Tools/Binn' contains space
fixpath: warning: Path '/cygdrive/c/Users/********/AppData/Local/Microsoft/WindowsApps' does not exist
fixpath: warning: Path '/cygdrive/w/UT' does not exist
fixpath: warning: Path '/cygdrive/c/Program Files/Microsoft SQL Server/Client SDK/ODBC/170/Tools/Binn' does not exist
fixpath: failure: Path '/cygdrive/c/Program Files/Microsoft SQL Server/Client SDK/ODBC/170/Tools/Binn' contains space
checking that Visual Studio variables have been correctly extracted... ok
checking for cl... $FIXPATH /cygdrive/c/progra~2/micros~1/2022/buildt~1/vc/tools/msvc/1439~1.335/bin/hostx86/x86/cl.exe
checking resolved symbolic links for CC... no symlink
configure: Using microsoft C compiler version 19.39.33523 [Microsoft (R) C/C++ Optimizing Compiler Version 19.39.33523 for x86]
checking whether the C compiler works... yes
checking for C compiler default output file name... conftest.exe
checking for suffix of executables... .exe
checking whether we are cross compiling... no
checking for suffix of object files... obj
checking whether the compiler supports GNU C... no
checking whether /home/dev/jdk-jdk-22-ga/build/windows-x86-client-release/fixpath exec /cygdrive/c/progra~2/micros~1/2022/buildt~1/vc/tools/msvc/1439~1.335/bin/hostx86/x86/cl.exe accepts -g... yes
checking for /home/dev/jdk-jdk-22-ga/build/windows-x86-client-release/fixpath exec /cygdrive/c/progra~2/micros~1/2022/buildt~1/vc/tools/msvc/1439~1.335/bin/hostx86/x86/cl.exe option to enable C11 features... unsupported
checking for /home/dev/jdk-jdk-22-ga/build/windows-x86-client-release/fixpath exec /cygdrive/c/progra~2/micros~1/2022/buildt~1/vc/tools/msvc/1439~1.335/bin/hostx86/x86/cl.exe option to enable C99 features... unsupported
checking for /home/dev/jdk-jdk-22-ga/build/windows-x86-client-release/fixpath exec /cygdrive/c/progra~2/micros~1/2022/buildt~1/vc/tools/msvc/1439~1.335/bin/hostx86/x86/cl.exe option to enable C89 features... unsupported
checking for cl... $FIXPATH /cygdrive/c/progra~2/micros~1/2022/buildt~1/vc/tools/msvc/1439~1.335/bin/hostx86/x86/cl.exe
checking resolved symbolic links for CXX... no symlink
configure: Using microsoft C++ compiler version 19.39.33523 [Microsoft (R) C/C++ Optimizing Compiler Version 19.39.33523 for x86]
checking whether the compiler supports GNU C++... no
checking whether /home/dev/jdk-jdk-22-ga/build/windows-x86-client-release/fixpath exec /cygdrive/c/progra~2/micros~1/2022/buildt~1/vc/tools/msvc/1439~1.335/bin/hostx86/x86/cl.exe accepts -g... yes
checking for /home/dev/jdk-jdk-22-ga/build/windows-x86-client-release/fixpath exec /cygdrive/c/progra~2/micros~1/2022/buildt~1/vc/tools/msvc/1439~1.335/bin/hostx86/x86/cl.exe option to enable C++11 features... none needed
checking how to run the C preprocessor... /home/dev/jdk-jdk-22-ga/build/windows-x86-client-release/fixpath exec /cygdrive/c/progra~2/micros~1/2022/buildt~1/vc/tools/msvc/1439~1.335/bin/hostx86/x86/cl.exe -E
checking how to run the C++ preprocessor... /home/dev/jdk-jdk-22-ga/build/windows-x86-client-release/fixpath exec /cygdrive/c/progra~2/micros~1/2022/buildt~1/vc/tools/msvc/1439~1.335/bin/hostx86/x86/cl.exe -E
checking for link... $FIXPATH /cygdrive/c/progra~2/micros~1/2022/buildt~1/vc/tools/msvc/1439~1.335/bin/hostx86/x86/link.exe
checking if the found link.exe is actually the Visual Studio linker... yes
configure: Using microsoft linker version 14.39.33523.0 [Microsoft (R) Incremental Linker Version 14.39.33523.0]
checking for ml... $FIXPATH /cygdrive/c/progra~2/micros~1/2022/buildt~1/vc/tools/msvc/1439~1.335/bin/hostx86/x86/ml.exe
checking for lib... $FIXPATH /cygdrive/c/progra~2/micros~1/2022/buildt~1/vc/tools/msvc/1439~1.335/bin/hostx86/x86/lib.exe
checking for mt... $FIXPATH /cygdrive/c/progra~2/wi3cf2~1/10/bin/100203~1.0/x86/mt.exe
checking for rc... $FIXPATH /cygdrive/c/progra~2/wi3cf2~1/10/bin/100203~1.0/x86/rc.exe
checking for dumpbin... $FIXPATH /cygdrive/c/progra~2/micros~1/2022/buildt~1/vc/tools/msvc/1439~1.335/bin/hostx86/x86/dumpbin.exe
checking for gobjdump... [not found]
checking for objdump... [not found]
checking if CC supports "-m32"... yes
checking if CXX supports "-m32"... yes
checking if both CC and CXX support "-m32"... yes
checking for jtreg... [not found]
checking for jtreg test harness... no, not found
checking for jtreg jdk... no, using BOOT_JDK
checking for jmh (Java Microbenchmark Harness)... no, disabled
checking for jib... no
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... no
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... no
checking for stdio.h... (cached) yes
checking size of int *... 4
checking for target address size... 32 bits
checking whether byte ordering is bigendian... no
checking for --enable-branch-protection... disabled, default
checking for --enable-warnings-as-errors... enabled, default
checking if CC supports "-experimental:deterministic"... yes
checking if CXX supports "-experimental:deterministic"... yes
checking if both CC and CXX support "-experimental:deterministic"... yes
checking if CC supports "-pathmap:/home/dev/jdk-jdk-22-ga=s"... yes
checking if CXX supports "-pathmap:/home/dev/jdk-jdk-22-ga=s"... yes
checking if both CC and CXX support "-pathmap:/home/dev/jdk-jdk-22-ga=s"... yes
checking how to prevent absolute paths in output... using compiler options
checking if BUILD_CC supports "-experimental:deterministic"... yes
checking if BUILD_CXX supports "-experimental:deterministic"... yes
checking if both BUILD_CC and BUILD_CXX support "-experimental:deterministic"... yes
checking if BUILD_CC supports "-pathmap:/home/dev/jdk-jdk-22-ga=s"... yes
checking if BUILD_CXX supports "-pathmap:/home/dev/jdk-jdk-22-ga=s"... yes
checking if both BUILD_CC and BUILD_CXX support "-pathmap:/home/dev/jdk-jdk-22-ga=s"... yes
checking how to prevent absolute paths in output... using compiler options
checking if linker supports "-experimental:deterministic"... yes
checking what type of native debug symbols to use... external
checking if we should add external native debug symbols to the shipped bundles... no
checking if native coverage is available... no
checking for --enable-native-coverage... disabled, default
checking if AddressSanitizer (asan) is available... yes
checking for --enable-asan... disabled, default
checking if UndefinedBehaviorSanitizer (ubsan) is available... no
checking for --enable-ubsan... disabled, default
checking if LeakSanitizer (lsan) is available... no
checking for --enable-lsan... disabled, default
checking if fallback linker enabled... disabled, default
configure: Found vcruntime140.dll at /cygdrive/c/progra~2/micros~1/2022/buildt~1/vc/redist/msvc/1438~1.331//x86/microsoft.vc143.crt/vcruntime140.dll using well-known location in VCINSTALLDIR
checking found vcruntime140.dll architecture... ok
checking for vcruntime140.dll... /cygdrive/c/progra~2/micros~1/2022/buildt~1/vc/redist/msvc/1438~1.331//x86/microsoft.vc143.crt/vcruntime140.dll
configure: Found msvcp140.dll at /cygdrive/c/progra~2/micros~1/2022/buildt~1/vc/redist/msvc/1438~1.331//x86/microsoft.vc143.crt/msvcp140.dll using well-known location in VCINSTALLDIR
checking found msvcp140.dll architecture... ok
checking for msvcp140.dll... /cygdrive/c/progra~2/micros~1/2022/buildt~1/vc/redist/msvc/1438~1.331//x86/microsoft.vc143.crt/msvcp140.dll
checking for UCRT DLL dir... /cygdrive/c/progra~2/wi3cf2~1/10//redist/ucrt/dlls/x86
checking for which libjpeg to use... bundled
checking for which giflib to use... bundled
checking for PNG... checking for which libpng to use... bundled
checking for compress in -lz... no
checking for which zlib to use... bundled
checking for which lcms to use... bundled
checking for which harfbuzz to use... bundled
Using freetype: bundled
checking for --enable-hsdis-bundling... disabled, default
checking what hsdis backend to use... 'none', hsdis will not be built
checking if hsdis should be bundled... no
checking for --enable-libffi-bundling... disabled, default
checking for dlopen in -ldl... no
checking for JVM features enabled by the user... none
checking for JVM features disabled by the user... none
checking if platform is supported by CDS... yes
checking if JVM feature 'cds' is available... yes
checking for dtrace tool and platform support... no
checking for sys/sdt.h... no
configure: Cannot enable dtrace with missing dependencies. See above.
checking if JVM feature 'dtrace' is available... no
checking if platform is supported by JVMCI... no, x86
checking if JVM feature 'jvmci' is available... no
checking if platform is supported by Shenandoah... yes
checking if JVM feature 'shenandoahgc' is available... yes
checking if static-build is enabled in configure... no, use --enable-static-build to enable static build.
checking if JVM feature 'static-build' is available... no
checking if platform is supported by ZGC... no, windows-x86
checking if Windows APIs required for ZGC is present... yes
checking if JVM feature 'zgc' is available... no
checking JVM features to use for variant 'client'... 'cds compiler1 epsilongc g1gc jfr jni-check jvmti management parallelgc serialgc services shenandoahgc vm-structs'
checking what hotspot build time to use... 2024-04-04T10:17:22Z (from --with-source-date)
checking if the jtreg failure handler is available... no (jtreg not present)
checking if the jtreg failure handler should be built... disabled, default
checking if the jtreg test thread factory is available... no (jtreg not present)
checking if the jtreg test thread factory should be built... disabled, from default 'auto'
checking if the CDS classlist generation should be enabled... enabled, from default 'auto'
checking if any translations should be excluded... no
checking if static man pages should be copied... enabled, default
checking if CDS archive is available... yes
checking if a default CDS archive should be generated... enabled, from default 'auto'
checking if CDS archive is available... yes
checking if compatible cds region alignment enabled... disabled, default
checking for number of cores... 4
checking for memory size... 8191 MB
checking for appropriate number of jobs to run in parallel... 4
checking whether to use javac server... enabled, default
checking flags for boot jdk java command ...  -Duser.language=en -Duser.country=US  -XX:+UnlockDiagnosticVMOptions -XX:-VerifySharedSpaces -XX:SharedArchiveFile=/home/dev/jdk-jdk-22-ga/build/windows-x86-client-release/configure-support/classes.jsa -Xshare:auto
checking flags for boot jdk java command for big workloads...  -Xms64M -Xmx1600M
checking flags for bootcycle boot jdk java command for big workloads... -Xms64M -Xmx768M
checking flags for boot jdk java command for small workloads...  -XX:+UseSerialGC -Xms32M -Xmx512M -XX:TieredStopAtLevel=1
checking for --enable-icecc... disabled, default
checking if precompiled headers are available... yes
checking for --enable-precompiled-headers... enabled, from default 'auto'
checking for ccache... [not found]
checking if ccache is available... no, not supported for toolchain type microsoft
checking if ccache is enabled... disabled, default
checking if build directory is on local disk... yes
configure: creating /home/dev/jdk-jdk-22-ga/build/windows-x86-client-release/configure-support/config.status
config.status: creating /home/dev/jdk-jdk-22-ga/build/windows-x86-client-release/spec.gmk
config.status: creating /home/dev/jdk-jdk-22-ga/build/windows-x86-client-release/bootcycle-spec.gmk
config.status: creating /home/dev/jdk-jdk-22-ga/build/windows-x86-client-release/buildjdk-spec.gmk
config.status: creating /home/dev/jdk-jdk-22-ga/build/windows-x86-client-release/compare.sh
config.status: creating /home/dev/jdk-jdk-22-ga/build/windows-x86-client-release/Makefile

====================================================
A new configuration has been successfully created in
/home/dev/jdk-jdk-22-ga/build/windows-x86-client-release
using configure arguments '--with-vendor-name='Rohde & Schwarz (OpenJDK)' --with-version-string=22 --with-target-bits=32 --with-jvm-variants=client --enable-deprecated-ports=yes'.

Configuration summary:
* Name:           windows-x86-client-release
* Debug level:    release
* HS debug level: product
* JVM variants:   client
* JVM features:   client: 'cds compiler1 epsilongc g1gc jfr jni-check jvmti management parallelgc serialgc services shenandoahgc vm-structs'
* OpenJDK target: OS: windows, CPU architecture: x86, address length: 32
* Version string: 22 (22)
* Source date:    1712225842 (2024-04-04T10:17:22Z)

Tools summary:
* Environment:    cygwin version 3.5.1-1.x86_64, 2024-02-27 11:54 UTC; windows version 10.0.17763.5576; prefix "/cygdrive"; root "C:\cygwin64"
* Boot JDK:       openjdk version "21-GA" 2023-09-19 OpenJDK Runtime Environment (build 21-GA) OpenJDK 64-Bit Server VM (build 21-GA, mixed mode) (at /cygdrive/c/progra~1/java/jdk-21)
* Toolchain:      microsoft (Microsoft Visual Studio 2022)
* C Compiler:     Version 19.39.33523 (at /cygdrive/c/progra~2/micros~1/2022/buildt~1/vc/tools/msvc/1439~1.335/bin/hostx86/x86/cl.exe)
* C++ Compiler:   Version 19.39.33523 (at /cygdrive/c/progra~2/micros~1/2022/buildt~1/vc/tools/msvc/1439~1.335/bin/hostx86/x86/cl.exe)

Build performance summary:
* Build jobs:     4
* Memory limit:   8191 MB

The following warnings were produced. Repeated here for convenience:
WARNING: The Windows 32-bit x86 port is deprecated and may be removed in a future release.



==================== MAKE ====================
USER@WINSERVER /home/dev/jdk-jdk-22-ga
$ make images CONF=windows-x86-client-release
Using exact match for CONF=windows-x86-client-release (other matches are possible)
Building target 'images' in configuration 'windows-x86-client-release'
Compiling up to 1 files for BUILD_TOOLS_HOTSPOT
Compiling up to 8 files for BUILD_TOOLS_LANGTOOLS
Compiling 15 properties into resource bundles for jdk.jdeps
Compiling 9 properties into resource bundles for jdk.jshell
Warning: No SCM configuration present and no .src-rev
Generating classes for compiler.properties launcher.properties
Compiling 20 properties into resource bundles for jdk.compiler
Compiling 17 properties into resource bundles for jdk.javadoc
Compiling up to 127 files for BUILD_java.compiler.interim
Compiling up to 362 files for BUILD_jdk.compiler.interim
Compiling up to 211 files for BUILD_jdk.javadoc.interim
Compiling up to 17 files for BUILD_JAVAC_SERVER
Compiling up to 2 files for BUILD_JVMTI_TOOLS
Creating support/modules_libs/java.base/client/jvm.dll from 941 file(s)
Compiling up to 31 files for BUILD_JRTFS
Compiling up to 188 files for BUILD_TOOLS_JDK
Compiling up to 2 files for COMPILE_DEPEND
Creating support/modules_libs/java.base/jrt-fs.jar
Compiling up to 2 files for BUILD_BREAKITERATOR_BASE
Compiling up to 2 files for BUILD_BREAKITERATOR_LD
SocketOptionRegistry.java.template
Compiling 11 properties into resource bundles for java.logging
Compiling 11 properties into resource bundles for java.base
Compiling 6 properties into resource bundles for java.base
Compiling 4 properties into resource bundles for jdk.httpserver
Compiling 11 properties into resource bundles for jdk.jartool
Compiling 11 properties into resource bundles for jdk.management.agent
Compiling 4 properties into resource bundles for jdk.jdi
Compiling 8 properties into resource bundles for jdk.jlink
Compiling 4 properties into resource bundles for jdk.jlink
Compiling 1 properties into resource bundles for jdk.jlink
Compiling 224 properties into resource bundles for jdk.localedata
Compiling up to 70 files for COMPILE_CREATE_SYMBOLS
Compiling 100 properties into resource bundles for java.desktop
Compiling up to 3486 files for java.base
C:\cygwin64\home\dev\jdk-jdk-22-ga\src\hotspot\share\prims\downcallLinker.cpp(36): error C2373: 'DowncallLinker::capture_state': redefinition; different type modifiers
C:\cygwin64\home\dev\jdk-jdk-22-ga\src\hotspot\share\prims\downcallLinker.hpp(44): note: see declaration of 'DowncallLinker::capture_state'
make[3]: *** [lib/CompileJvm.gmk:154: /home/dev/jdk-jdk-22-ga/build/windows-x86-client-release/hotspot/variant-client/libjvm/objs/downcallLinker.obj] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [make/Main.gmk:253: hotspot-client-libs] Error 2
make[2]: *** Waiting for unfinished jobs....
Updating support/src.zip

ERROR: Build failed for target 'images' in configuration 'windows-x86-client-release' (exit code 2)

=== Output from failing command(s) repeated here ===
* For target hotspot_variant-client_libjvm_objs_downcallLinker.obj:
downcallLinker.cpp
C:\cygwin64\home\dev\jdk-jdk-22-ga\src\hotspot\share\prims\downcallLinker.cpp(36): error C2373: 'DowncallLinker::capture_state': redefinition; different type modifiers
C:\cygwin64\home\dev\jdk-jdk-22-ga\src\hotspot\share\prims\downcallLinker.hpp(44): note: see declaration of 'DowncallLinker::capture_state'
   ... (rest of output omitted)

* All command lines available in /home/dev/jdk-jdk-22-ga/build/windows-x86-client-release/make-support/failure-logs.
=== End of repeated output ===

No indication of failed target found.
HELP: Try searching the build log for '] Error'.
HELP: Run 'make doctor' to diagnose build problems.

make[1]: *** [/home/dev/jdk-jdk-22-ga/make/Init.gmk:323: main] Error 2
make: *** [/home/dev/jdk-jdk-22-ga/make/Init.gmk:189: images] Error 2

---------- END SOURCE ----------

FREQUENCY : always



Comments
A pull request was submitted for review. URL: https://git.openjdk.org/jdk22u/pull/224 Date: 2024-05-27 21:59:55 +0000
27-05-2024

JDK 22u Fix Request This is a trivial, low-risk, build fix to address a problem with 32-bit Windows builds that was seen on JDK 22u.
27-05-2024

Changeset: 86eb5d9f Author: David Holmes <dholmes@openjdk.org> Date: 2024-05-27 21:52:49 +0000 URL: https://git.openjdk.org/jdk/commit/86eb5d9f3be30ff9df1318f18ab73c7129c978f6
27-05-2024

A pull request was submitted for review. URL: https://git.openjdk.org/jdk/pull/19406 Date: 2024-05-27 02:13:44 +0000
27-05-2024

Now another two issues: [2024-04-10T23:16:25,912Z] Error: can't find JNI interfaces in: C:\sb\prod\1712790412\workspace\build\windows-x86\jdk\bin\server\jvm.dll [2024-04-10T23:16:26,000Z] Gendata.gmk:62: recipe for target '/cygdrive/c/sb/prod/1712790412/workspace/build/windows-x86/buildtools/create_symbols_javac/_the.COMPILE_CREATE_SYMBOLS_batch' failed [2024-04-10T23:16:26,001Z] make[3]: *** [/cygdrive/c/sb/prod/1712790412/workspace/build/windows-x86/buildtools/create_symbols_javac/_the.COMPILE_CREATE_SYMBOLS_batch] Error 6 [2024-04-10T23:16:26,005Z] make/Main.gmk:147: recipe for target 'jdk.compiler-gendata' failed and [2024-04-10T23:17:35,564Z] Creating 12 test executable file(s) for BUILD_HOTSPOT_JTREG_EXECUTABLES [2024-04-10T23:19:39,201Z] c:\sb\prod\1712790412\workspace\open\test\hotspot\jtreg\serviceability\jvmti\vthread\FollowReferences\libVThreadStackRefTest.cpp(49): error C2220: the following warning is treated as an error [2024-04-10T23:19:39,201Z] c:\sb\prod\1712790412\workspace\open\test\hotspot\jtreg\serviceability\jvmti\vthread\FollowReferences\libVThreadStackRefTest.cpp(49): warning C4244: 'argument': conversion from 'jlong' to 'size_t', possible loss of data [2024-04-10T23:19:39,201Z] test/JtregNativeHotspot.gmk:1534: recipe for target '/cygdrive/c/sb/prod/1712790412/workspace/build/windows-x86/support/test/hotspot/jtreg/native/support/libVThreadStackRefTest/libVThreadStackRefTest.obj' failed
11-04-2024

Also a JFR issue - filed JDK-8330064
10-04-2024

I fixed the reported issue but then ran into two other build failures: Lib.gmk:97: *** unterminated call to function 'eval': missing ')'. Stop. make/Main.gmk:211: recipe for target 'jdk.accessibility-static-libs' failed and c:\sb\prod\1712731351\workspace\open\src\hotspot\share\runtime\flags\jvmFlagLimit.cpp(106): error C2220: the following warning is treated as an error c:\sb\prod\1712731351\workspace\open\src\hotspot\share\runtime\flags\jvmFlagLimit.cpp(106): warning C4305: 'argument': truncation from 'const jlong' to 'T' with [ T=double ] c:\sb\prod\1712731351\workspace\open\src\hotspot\share\runtime\flags\jvmFlagLimit.cpp(127): warning C4305: 'argument': truncation from 'const jlong' to 'T' with [ T=double ]
10-04-2024

JVM_LEAF was added by JDK-8254693 in JDK 22
10-04-2024

The definition in the cpp file makes the function a JVM_LEAF which in turns add JNICALL to the function descriptor, which is defined as __stdcall. For ARMand x64 __stdcall is ignored so those builds do not report the discrepancy between the declaration and definition. The fix is to add JNICALL to the declaration.
10-04-2024

Build fails in hotspot on Windows x86 (32bit). The 32bit Windows build is deprecated and hardly maintained.
09-04-2024