6 ms·
Disclosure: I'm a new guy at Microsoft, not in the VS team, just speaking from prior experience as a Win32 developer. There are still internal limits in the PE
by marshray 13y ago
Disclosure: I'm a new guy at Microsoft, not in the VS team, just speaking from prior experience as a Win32 developer.
There are still internal limits in the PE32 format which mean parts of the output as a whole will be limited to 2 GiB or so, regardless of the address space available to the linker.
I too have hit internal linker limits from time-to-time, but the span of computing history in which it makes sense to have a 64-bit linker building a load module output with 32-bit internal limits to run on 64-bit processors doesn't seem like the place to be in the great scheme of things. Just my personal observation.
- bzbarsky 13y agoIn Mozilla's case the _output_ is nowhere close to 2GiB. What hits the 32-bit limit is the link-time code generation, which has to have the entire program's AST, plus all the profiling information, plus whatever other data structures it's using in memory all at once.
- malkia 13y agoSame with Qt5 and /LTCG - visual studio can't compile (I've tried out the 64-bit compiler targeting 64-bit since there is a 32-bit compiler targeting 64-bit too).
- malkia 13y agoAfter checking again with my logs, it was failing while building QtWebkit (ahem - other posts explain it too). For my custom Qt5 build, I've disabled /LTCG only for QtWebkit (32/64bit debug/release) and was able to deal with this limitation (at some other cost I guess)