diff --git a/programs/bpf/tests/programs.rs b/programs/bpf/tests/programs.rs index 80b88b0b2f..62bbd538f5 100644 --- a/programs/bpf/tests/programs.rs +++ b/programs/bpf/tests/programs.rs @@ -1269,19 +1269,19 @@ fn assert_instruction_count() { #[cfg(feature = "bpf_rust")] { programs.extend_from_slice(&[ - ("solana_bpf_rust_128bit", 584), - ("solana_bpf_rust_alloc", 5072), - ("solana_bpf_rust_custom_heap", 367), + ("solana_bpf_rust_128bit", 572), + ("solana_bpf_rust_alloc", 8906), + ("solana_bpf_rust_custom_heap", 539), ("solana_bpf_rust_dep_crate", 2), - ("solana_bpf_rust_external_spend", 336), - ("solana_bpf_rust_iter", 279), - ("solana_bpf_rust_many_args", 191), - ("solana_bpf_rust_mem", 1670), - ("solana_bpf_rust_noop", 324), + ("solana_bpf_rust_external_spend", 521), + ("solana_bpf_rust_iter", 724), + ("solana_bpf_rust_many_args", 237), + ("solana_bpf_rust_mem", 2297), + ("solana_bpf_rust_noop", 495), ("solana_bpf_rust_param_passing", 46), - ("solana_bpf_rust_rand", 327), - ("solana_bpf_rust_sanity", 595), - ("solana_bpf_rust_sha", 22417), + ("solana_bpf_rust_rand", 498), + ("solana_bpf_rust_sanity", 917), + ("solana_bpf_rust_sha", 29099), ]); } diff --git a/sdk/bpf/env.sh b/sdk/bpf/env.sh index 3bdf0555f8..8c15625871 100644 --- a/sdk/bpf/env.sh +++ b/sdk/bpf/env.sh @@ -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" diff --git a/sdk/cargo-build-bpf/src/main.rs b/sdk/cargo-build-bpf/src/main.rs index 9ad8c00f7d..1a35e06380 100644 --- a/sdk/cargo-build-bpf/src/main.rs +++ b/sdk/cargo-build-bpf/src/main.rs @@ -377,7 +377,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",