Thank you for raising this issue. I’d like to share my personal experience and perspective.
Compiling against newer APIs with a recent Visual Studio toolchain may succeed on older Windows, but the resulting binaries can reference APIs that are not present on those systems, so they may fail at runtime. I think that the documentation should mainly clarify whether we can actually build on older Windows. In practice, I built the JDK 8 update 472 source following docs/building.html in jdk8u project using the minimum toolchain and os requirements. The resulting images ran and passed some tests on newer Windows, but certain features did not work properly on older systems due to missing system APIs. Additionally, since the Boot JDK from openjdk.org itself does not support Windows Vista / Server 2008 (NT 6.0), this limitation should also be reflected in the documentation. Given these points, I think we should reconsider whether the build environment described in docs/building.md is still accurate and practical. This is just my personal opinion – I hope it is useful for the discussion. Best Regards, Neville ---------------------------------- Original Mail: >Btw. in the compile flags we state "Windows 8 and above" , so maybe this >should be also stated in the docs ? >See > >https://github.com/openjdk/jdk/blob/2f37461c25d7bdbca35af7c2dee32e866b921e7a/make/autoconf/flags-cflags.m4#L525 > >elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then > # _WIN32_WINNT=0x0602 means access APIs for Windows 8 and above. See > # > https://docs.microsoft.com/en-us/cpp/porting/modifying-winver-and-win32-winnt?view=msvc-170 > ALWAYS_DEFINES="-DWIN32_LEAN_AND_MEAN -D_WIN32_WINNT=0x0602 \ > > ( and looking at what is used in the hotspot codebase, we have at least some > Win7 / Server 2008 R2 functionality we use (os_windows.cpp) ) : > >GetActiveProcessorCount(ALL_PROCESSOR_GROUPS) >GetProcessGroupAffinity > >https://learn.microsoft.com/de-de/windows/win32/api/winbase/nf-winbase-getactiveprocessorcount >https://learn.microsoft.com/de-de/windows/win32/api/winbase/nf-winbase-getactiveprocessorcount > > >Best regards, Matthias >>Maybe better say , where it works, like Windows 10 and higher ? >>(who needs those XP / Vista stuff these days ?) >> >> >>Best regards, Matthias
