diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2017-01-10 20:01:54 -0800 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2017-01-10 20:33:12 -0800 |
| commit | 099e7cb120ad2cf7c85609ec58ef6a1ac7a56b1d (patch) | |
| tree | 8c72564cecb916c35c5df8192493046f4c03a3a5 /src/test/incremental/thinlto | |
| parent | e4fee525e04838dabc82beed5ae1a06051be53fd (diff) | |
| download | rust-099e7cb120ad2cf7c85609ec58ef6a1ac7a56b1d.tar.gz rust-099e7cb120ad2cf7c85609ec58ef6a1ac7a56b1d.zip | |
rustbuild: Don't enable debuginfo in rustc
In #37280 we enabled line number debugging information in release artifacts, primarily to close out #36452 where debugging information was critical for MSVC builds of Rust to be useful in production. This commit, however, apparently had some unfortunate side effects. Namely it was noticed in #37477 that if `RUST_BACKTRACE=1` was set then any compiler error would take a very long time for the compiler to exit. The cause of the problem here was somewhat deep: * For all compiler errors, the compiler will `panic!` with a known value. This tears down the main compiler thread and allows cleaning up all the various resources. By default, however, this panic output is suppressed for "normal" compiler errors. * When `RUST_BACKTRACE=1` was set this caused every compiler error to generate a backtrace. * The libbacktrace library hits a pathological case where it spends a very long time in its custom allocation function, `backtrace_alloc`, because the compiler has so much debugging information. More information about this can be found in #29293 with a summary at the end of #37477. To solve this problem this commit simply removes debuginfo from the compiler but not from the standard library. This should allow us to keep #36452 closed while also closing #37477. I've measured the difference to be orders of magnitude faster than it was before, so we should see a much quicker time-to-exit after a compile error when `RUST_BACKTRACE=1` is set. Closes #37477 Closes #37571
Diffstat (limited to 'src/test/incremental/thinlto')
0 files changed, 0 insertions, 0 deletions
