diff options
| author | bors <bors@rust-lang.org> | 2017-09-07 04:07:09 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2017-09-07 04:07:09 +0000 |
| commit | a6a9d4c5fd214cb8110482dee2017607e23ccc7b (patch) | |
| tree | 65fdacc215a88f9812d4b12b355bfea5695ad25c /src/libstd/sys/unix/time.rs | |
| parent | 05e3c96d36b5281e969b5e79b92d671c7872bf83 (diff) | |
| parent | ed938f08a949cb487f7513d4f22f92355a40d2f3 (diff) | |
| download | rust-a6a9d4c5fd214cb8110482dee2017607e23ccc7b.tar.gz rust-a6a9d4c5fd214cb8110482dee2017607e23ccc7b.zip | |
Auto merge of #44094 - alexcrichton:long-linkers, r=michaelwoerister
rustc: Attempt to handle super long linker invocations This commit adds logic to the compiler to attempt to handle super long linker invocations by falling back to the `@`-file syntax if the invoked command is too large. Each OS has a limit on how many arguments and how large the arguments can be when spawning a new process, and linkers tend to be one of those programs that can hit the limit! The logic implemented here is to unconditionally attempt to spawn a linker and then if it fails to spawn with an error from the OS that indicates the command line is too big we attempt a fallback. The fallback is roughly the same for all linkers where an argument pointing to a file, prepended with `@`, is passed. This file then contains all the various arguments that we want to pass to the linker. Closes #41190
Diffstat (limited to 'src/libstd/sys/unix/time.rs')
0 files changed, 0 insertions, 0 deletions
