diff options
| author | Daniel Micay <danielmicay@gmail.com> | 2014-09-06 17:51:25 -0400 |
|---|---|---|
| committer | Daniel Micay <danielmicay@gmail.com> | 2014-09-06 17:54:52 -0400 |
| commit | c6633fde5302be357014c9aa14461857d99d0075 (patch) | |
| tree | a6bb11d15fbfcefca28e9588dfe45bc486394493 | |
| parent | d8a26184dc103025e7ad457ffd8deb391019dbfe (diff) | |
| download | rust-c6633fde5302be357014c9aa14461857d99d0075.tar.gz rust-c6633fde5302be357014c9aa14461857d99d0075.zip | |
mark win32 binaries as large address aware
By default, 32-bit Windows executables are restricted to 2GiB of address space even when running on 64-bit Windows when 4GiB is available. Closes #17043
| -rw-r--r-- | src/librustc/back/link.rs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/librustc/back/link.rs b/src/librustc/back/link.rs index 158ae22331a..1bd3425a83b 100644 --- a/src/librustc/back/link.rs +++ b/src/librustc/back/link.rs @@ -1019,6 +1019,12 @@ fn link_args(cmd: &mut Command, // Mark all dynamic libraries and executables as compatible with ASLR cmd.arg("-Wl,--dynamicbase"); + + // Mark all dynamic libraries and executables as compatible with the larger 4GiB address + // space available to x86 Windows binaries on x86_64. + if sess.targ_cfg.arch == abi::X86 { + cmd.arg("-Wl,--large-address-aware"); + } } if sess.targ_cfg.os == abi::OsAndroid { |
