On Mon, 31 Mar 2025 13:16:34 GMT, Erik Joelsson <er...@openjdk.org> wrote:

> > Wait a minute. I re-read the discussion a bit more carefully, and let my 
> > brain re-process what I said above...
> > Is the goal here to document how you properly do cross-compilation for 
> > windows/aarch64 on windows/x64? If so, I think this is a correct solution, 
> > but the documentation should be more clear that this applies for 
> > cross-compiling to windows/aarch64 from x64 on cygwin.
> > If the problem is that native builds on windows/aarch64 does not work, then 
> > it is a different issue that needs to be fixed.
> 
> The problem applies to both native and cross compilation, though cross 
> compilation is no different than other platforms. The reason native 
> compilation doesn't work on Cygwin is that there is no aarch64 distro of 
> Cygwin, so even a native windows aarch64 build will use an x64 version of 
> Cygwin running in emulated mode (I don't know the name on Windows, but pretty 
> much the same as rosetta on mac). This trips up configure into thinking we 
> are running on a native windows x64 machine, and it's the reason why telling 
> configure that the **build** platform is `aarch64-pc-cygwin` helps. Caveat, 
> this is all based on what I've heard, I've never had access to a 
> windows-aarch64 machine.
> 
> I completely agree that fixing this detection issue is better than 
> documenting, but I also think that documenting how to perform a native build 
> is better than how to perform a cross build on a native machine. Cross 
> compiling works, but adds increased complexity and build time unnecessarily 
> in this case.

Upon closer inspection, the --build option results in a native build (per the 
build system) but the ARM64 C++ compiler binary (cl.exe) is actually an x64 
binary, so the compiler is running in emulated mode despite the build system 
thinking that a native build is happening. I'm investigating this in 
https://bugs.openjdk.org/browse/JDK-8353066

I propose changing the scope of this PR to documenting cross compilation for 
windows/aarch64 on windows/x64 and fixing the native build in 
https://bugs.openjdk.org/browse/JDK-8353066

-------------

PR Comment: https://git.openjdk.org/jdk/pull/24267#issuecomment-2766469401

Reply via email to