As of 4.9.2, gcc started passing -fno-lto to collect2, or to ld if collect2 cannot be found. The latter is the case for our bundles, because we don't include collect2. Unfortunately, ld does not understand this option and errors out.

On the bright side, -fno-use-linker-plugin still works to suppress gcc's LTO, so we can drop -fno-lto.
This commit is contained in:
Vadim Chugunov 2014-11-08 18:32:15 -08:00
parent 6ee56c9a5f
commit 3d9a346aa3

View file

@ -890,9 +890,6 @@ fn link_args(cmd: &mut Command,
cmd.arg(obj_filename.with_extension("metadata.o"));
}
// Rust does its' own LTO
cmd.arg("-fno-lto");
if t.options.is_like_osx {
// The dead_strip option to the linker specifies that functions and data
// unreachable by the entry point will be removed. This is quite useful