diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs index 917abde9de1ce..6ccf8b1d5221c 100644 --- a/src/bootstrap/builder.rs +++ b/src/bootstrap/builder.rs @@ -988,10 +988,20 @@ impl<'a> Builder<'a> { } }; - if use_new_symbol_mangling { - rustflags.arg("-Zsymbol-mangling-version=v0"); + // cfg(bootstrap) -- drop the compiler.stage == 0 branch. + if compiler.stage == 0 { + if use_new_symbol_mangling { + rustflags.arg("-Zsymbol-mangling-version=v0"); + } else { + rustflags.arg("-Zsymbol-mangling-version=legacy"); + } } else { - rustflags.arg("-Zsymbol-mangling-version=legacy"); + if use_new_symbol_mangling { + rustflags.arg("-Csymbol-mangling-version=v0"); + } else { + rustflags.arg("-Csymbol-mangling-version=legacy"); + rustflags.arg("-Zunstable-options"); + } } // FIXME: It might be better to use the same value for both `RUSTFLAGS` and `RUSTDOCFLAGS`,