about summary refs log tree commit diff
path: root/src/test/incremental/thinlto
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2017-01-11 13:42:52 +0000
committerbors <bors@rust-lang.org>2017-01-11 13:42:52 +0000
commit52c03d1d619fd25c961bc9de59bcc942b660d5db (patch)
treefd0296d0cce904193b62a9fbb5a46d0b15b70143 /src/test/incremental/thinlto
parent0d03d51cc0534ac514732f4e8d845e9743ef6300 (diff)
parent099e7cb120ad2cf7c85609ec58ef6a1ac7a56b1d (diff)
downloadrust-52c03d1d619fd25c961bc9de59bcc942b660d5db.tar.gz
rust-52c03d1d619fd25c961bc9de59bcc942b660d5db.zip
Auto merge of #38984 - alexcrichton:less-debuginfo, r=brson
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