Bug #80675 Switch to 64 bit toolchain on 64 bit Windows
Submitted: 9 Mar 2016 14:13 Modified: 10 Mar 2016 16:42
Reporter: Jon Olav Hauglid Email Updates:
Status: Closed Impact on me:
Category:MySQL Server: Compiling Severity:S2 (Serious)
Version:8.0.0 OS:Any
Assigned to: CPU Architecture:Any

[9 Mar 2016 14:13] Jon Olav Hauglid
By default 32 bit toolchain (compiler, linker) is used on Windows even on 64 bit builds.
This is not a good idea. According to MSDN documentation:
"Choice of toolset is important. Visual C++ ships with a 32 bit linker and a 64 bit linker. The 64 bit linker should be used if at all possible. Incremental linking is much more likely to succeed with the 64 bit linker primarily because of the increased address space. The larger address space is important for two reasons. First, the 64 bit linker can map many more objects and libraries into memory than the 32 bit linker can (running out of address space is one reason incremental linking fails more often with the 32 bit linker).

We are starting to hit the 32 bit linking limitations (WL#7898/WL#7897) and should switch immediately.

How to repeat:
Build WL#7898/WL#7897 tree on Windows 64 bit.
[10 Mar 2016 16:42] Paul DuBois
Noted in 5.8.0 changelog.

For building MySQL on Windows, the toolchain now prefers 64-bit tools
when possible (previously 32-bit). This speeds up linking and avoids
issues related to limited address space with the 32-bit linker.
[18 Jun 2016 21:36] Omer Barnir
Posted by developer:
Reported version value updated to reflect release name change from 5.8 to 8.0