Add BPF rustc option to reduce the optimizations to safer level (#17590)

This commit is contained in:
Dmitri Makarov
2021-05-29 01:14:53 +02:00
committed by Justin Starry
parent 6c390aeb67
commit 77e6cd35ee
3 changed files with 14 additions and 10 deletions

View File

@ -1296,17 +1296,17 @@ fn assert_instruction_count() {
{
programs.extend_from_slice(&[
("solana_bpf_rust_128bit", 584),
("solana_bpf_rust_alloc", 4967),
("solana_bpf_rust_alloc", 7890),
("solana_bpf_rust_dep_crate", 2),
("solana_bpf_rust_external_spend", 334),
("solana_bpf_rust_iter", 8),
("solana_bpf_rust_many_args", 189),
("solana_bpf_rust_mem", 1989),
("solana_bpf_rust_membuiltins", 1715),
("solana_bpf_rust_noop", 322),
("solana_bpf_rust_external_spend", 508),
("solana_bpf_rust_iter", 724),
("solana_bpf_rust_many_args", 233),
("solana_bpf_rust_mem", 3095),
("solana_bpf_rust_membuiltins", 4012),
("solana_bpf_rust_noop", 482),
("solana_bpf_rust_param_passing", 46),
("solana_bpf_rust_sanity", 587),
("solana_bpf_rust_sha", 22417),
("solana_bpf_rust_sanity", 900),
("solana_bpf_rust_sha", 28877),
]);
}

View File

@ -14,3 +14,5 @@ export CC="$bpf_sdk/dependencies/bpf-tools/llvm/bin/clang"
export AR="$bpf_sdk/dependencies/bpf-tools/llvm/bin/llvm-ar"
export OBJDUMP="$bpf_sdk/dependencies/bpf-tools/llvm/bin/llvm-objdump"
export OBJCOPY="$bpf_sdk/dependencies/bpf-tools/llvm/bin/llvm-objcopy"
export RUSTFLAGS="-C lto=no -C opt-level=2"

View File

@ -277,7 +277,9 @@ fn build_bpf_package(config: &Config, target_directory: &Path, package: &cargo_m
env::set_var("AR", llvm_bin.join("llvm-ar"));
env::set_var("OBJDUMP", llvm_bin.join("llvm-objdump"));
env::set_var("OBJCOPY", llvm_bin.join("llvm-objcopy"));
let mut rust_flags = String::from("-C lto=no");
rust_flags.push_str(" -C opt-level=2");
env::set_var("RUSTFLAGS", rust_flags);
let cargo_build = PathBuf::from("cargo");
let mut cargo_build_args = vec![
"+bpf",