Re-enable LTO (#22287)
LTO seems to work fine now. It was possibly fixed by either the LLVM13 upgrade
or by b2ed47a925
,
which fixed a LTO issue with tests.
This commit is contained in:
parent
bb3a1b6b31
commit
959ea26816
|
@ -14,5 +14,3 @@ export CC="$bpf_sdk/dependencies/bpf-tools/llvm/bin/clang"
|
||||||
export AR="$bpf_sdk/dependencies/bpf-tools/llvm/bin/llvm-ar"
|
export AR="$bpf_sdk/dependencies/bpf-tools/llvm/bin/llvm-ar"
|
||||||
export OBJDUMP="$bpf_sdk/dependencies/bpf-tools/llvm/bin/llvm-objdump"
|
export OBJDUMP="$bpf_sdk/dependencies/bpf-tools/llvm/bin/llvm-objdump"
|
||||||
export OBJCOPY="$bpf_sdk/dependencies/bpf-tools/llvm/bin/llvm-objcopy"
|
export OBJCOPY="$bpf_sdk/dependencies/bpf-tools/llvm/bin/llvm-objcopy"
|
||||||
|
|
||||||
export RUSTFLAGS="${RUSTFLAGS} -C lto=no"
|
|
||||||
|
|
|
@ -515,25 +515,20 @@ fn build_bpf_package(config: &Config, target_directory: &Path, package: &cargo_m
|
||||||
env::set_var("AR", llvm_bin.join("llvm-ar"));
|
env::set_var("AR", llvm_bin.join("llvm-ar"));
|
||||||
env::set_var("OBJDUMP", llvm_bin.join("llvm-objdump"));
|
env::set_var("OBJDUMP", llvm_bin.join("llvm-objdump"));
|
||||||
env::set_var("OBJCOPY", llvm_bin.join("llvm-objcopy"));
|
env::set_var("OBJCOPY", llvm_bin.join("llvm-objcopy"));
|
||||||
const RF_LTO: &str = "-C lto=no";
|
|
||||||
let mut rustflags = match env::var("RUSTFLAGS") {
|
if let Ok(mut rustflags) = env::var("RUSTFLAGS") {
|
||||||
Ok(rf) => {
|
if cfg!(windows) && !rustflags.contains("-C linker=") {
|
||||||
if rf.contains(&RF_LTO) {
|
let ld_path = llvm_bin.join("ld.lld");
|
||||||
rf
|
rustflags = format!("{} -C linker={}", rustflags, ld_path.display());
|
||||||
} else {
|
|
||||||
format!("{} {}", rf, RF_LTO)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
_ => RF_LTO.to_string(),
|
|
||||||
|
if config.verbose {
|
||||||
|
println!("RUSTFLAGS={}", rustflags);
|
||||||
|
}
|
||||||
|
|
||||||
|
env::set_var("RUSTFLAGS", rustflags);
|
||||||
};
|
};
|
||||||
if cfg!(windows) && !rustflags.contains("-C linker=") {
|
|
||||||
let ld_path = llvm_bin.join("ld.lld");
|
|
||||||
rustflags = format!("{} -C linker={}", rustflags, ld_path.display());
|
|
||||||
}
|
|
||||||
if config.verbose {
|
|
||||||
println!("RUSTFLAGS={}", rustflags);
|
|
||||||
}
|
|
||||||
env::set_var("RUSTFLAGS", rustflags);
|
|
||||||
let cargo_build = PathBuf::from("cargo");
|
let cargo_build = PathBuf::from("cargo");
|
||||||
let mut cargo_build_args = vec![
|
let mut cargo_build_args = vec![
|
||||||
"+bpf",
|
"+bpf",
|
||||||
|
|
Loading…
Reference in New Issue