about summary refs log tree commit diff
path: root/src/bootstrap/bin
diff options
context:
space:
mode:
authorVadim Petrochenkov <vadim.petrochenkov@gmail.com>2017-07-16 02:02:34 +0300
committerVadim Petrochenkov <vadim.petrochenkov@gmail.com>2017-07-16 02:02:34 +0300
commit5f37110e5e1ae14a19aa7ee036f27e47e08ee73d (patch)
treef8553329d2b82d1ed99c8c40c5deff87a4a04666 /src/bootstrap/bin
parent086eaa78ea70075abe4e6b7fb9dc76259867b4be (diff)
downloadrust-5f37110e5e1ae14a19aa7ee036f27e47e08ee73d.tar.gz
rust-5f37110e5e1ae14a19aa7ee036f27e47e08ee73d.zip
Compile `compiler_builtins` with `abort` panic strategy
Diffstat (limited to 'src/bootstrap/bin')
-rw-r--r--src/bootstrap/bin/rustc.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/bootstrap/bin/rustc.rs b/src/bootstrap/bin/rustc.rs
index 497a5ab6c53..134406b1acd 100644
--- a/src/bootstrap/bin/rustc.rs
+++ b/src/bootstrap/bin/rustc.rs
@@ -150,7 +150,12 @@ fn main() {
         // This... is a bit of a hack how we detect this. Ideally this
         // information should be encoded in the crate I guess? Would likely
         // require an RFC amendment to RFC 1513, however.
-        if crate_name == "panic_abort" {
+        //
+        // `compiler_builtins` are unconditionally compiled with panic=abort to
+        // workaround undefined references to `rust_eh_unwind_resume` generated
+        // otherwise, see issue https://github.com/rust-lang/rust/issues/43095.
+        if crate_name == "panic_abort" ||
+           crate_name == "compiler_builtins" && stage != "0" {
             cmd.arg("-C").arg("panic=abort");
         }