Bump bpf-tools version to 1.8

This commit is contained in:
Dmitri Makarov 2021-05-13 16:12:00 +02:00 committed by Dmitri Makarov
parent c65c4475f6
commit ab871ed4b7
8 changed files with 12 additions and 90 deletions

View File

@ -1274,7 +1274,7 @@ fn assert_instruction_count() {
}
let mut passed = true;
println!("\n {:30} expected actual diff", "BPF program");
println!("\n {:30} expected actual diff", "BPF program");
for program in programs.iter() {
let program_id = solana_sdk::pubkey::new_rand();
let key = solana_sdk::pubkey::new_rand();
@ -1282,7 +1282,14 @@ fn assert_instruction_count() {
let parameter_accounts = vec![KeyedAccount::new(&key, false, &mut account)];
let count = run_program(program.0, &program_id, parameter_accounts, &[]).unwrap();
let diff: i64 = count as i64 - program.1 as i64;
println!(" {:30} {:8} {:6} {:+4}", program.0, program.1, count, diff);
println!(
" {:30} {:8} {:6} {:+5} ({:+3.0}%)",
program.0,
program.1,
count,
diff,
100.0_f64 * count as f64 / program.1 as f64 - 100.0_f64,
);
if count > program.1 {
passed = false;
}

View File

@ -10,11 +10,6 @@ SECTIONS
. = SIZEOF_HEADERS;
.text : { *(.text*) } :text
.rodata : { *(.rodata*) } :rodata
.data.rel.ro : { *(.data.rel.ro*) } :rodata
.dynamic : { *(.dynamic) } :dynamic
.data.rel.ro : { *(.data.rel.ro*) } :dynamic
.dynsym : { *(.dynsym) } :dynamic
.dynstr : { *(.dynstr) } :dynamic
.gnu.hash : { *(.gnu.hash) } :dynamic
.rel.dyn : { *(.rel.dyn) } :dynamic
.hash : { *(.hash) } :dynamic
}

View File

@ -14,16 +14,3 @@ 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"
# Use the SDK's version of Rust to build for BPF
export RUSTUP_TOOLCHAIN=bpf
export RUSTFLAGS="
-C lto=no \
-C opt-level=2 \
-C link-arg=-z -C link-arg=notext \
-C link-arg=-T$bpf_sdk/rust/bpf.ld \
-C link-arg=--Bdynamic \
-C link-arg=-shared \
-C link-arg=--threads=1 \
-C link-arg=--entry=entrypoint \
-C linker=$bpf_sdk/dependencies/bpf-tools/llvm/bin/ld.lld"

View File

@ -1,15 +0,0 @@
PHDRS
{
text PT_LOAD ;
rodata PT_LOAD ;
dynamic PT_DYNAMIC ;
}
SECTIONS
{
. = SIZEOF_HEADERS;
.text : { *(.text*) } :text
.rodata : { *(.rodata*) } :rodata
.data.rel.ro : { *(.data.rel.ro*) } :rodata
.dynamic : { *(.dynamic) } :dynamic
}

View File

@ -1,21 +0,0 @@
#!/usr/bin/env bash
if [[ "$#" -ne 1 ]]; then
echo "Error: Must provide the full path to the project to build"
exit 1
fi
if [[ ! -f "$1/Cargo.toml" ]]; then
echo "Error: Cannot find project: $1"
exit 1
fi
bpf_sdk=$(cd "$(dirname "$0")/.." && pwd)
echo "Building $1"
set -e
# shellcheck source=sdk/bpf/env.sh
source "$bpf_sdk"/env.sh
cd "$1"
"$XARGO" build --target "$XARGO_TARGET" --release --no-default-features --features program
{ { set +x; } 2>/dev/null; echo Success; }

View File

@ -1,17 +0,0 @@
#!/usr/bin/env bash
if [ "$#" -ne 1 ]; then
echo "Error: Must provide the full path to the project to build"
exit 1
fi
if [ ! -f "$1/Cargo.toml" ]; then
echo "Error: Cannot find project: $1"
exit 1
fi
cd "$1"
set -e
echo "Cleaning $1"
cargo clean

View File

@ -92,7 +92,7 @@ if [[ ! -e criterion-$version.md || ! -e criterion ]]; then
fi
# Install Rust-BPF
version=v1.7
version=v1.8
if [[ ! -e bpf-tools-$version.md || ! -e bpf-tools ]]; then
(
set -e

View File

@ -360,7 +360,7 @@ fn build_bpf_package(config: &Config, target_directory: &Path, package: &cargo_m
install_if_missing(
&config,
"bpf-tools",
"v1.7",
"v1.8",
"https://github.com/solana-labs/bpf-tools/releases/download",
&PathBuf::from(bpf_tools_filename),
)
@ -377,20 +377,6 @@ 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 linker = llvm_bin.join("ld.lld");
let linker_script = config.bpf_sdk.join("rust").join("bpf.ld");
let mut rust_flags = String::from("-C lto=no");
rust_flags.push_str(" -C opt-level=2");
rust_flags.push_str(" -C link-arg=-z -C link-arg=notext");
rust_flags.push_str(" -C link-arg=-T");
rust_flags.push_str(linker_script.to_str().unwrap());
rust_flags.push_str(" -C link-arg=--Bdynamic");
rust_flags.push_str(" -C link-arg=-shared");
rust_flags.push_str(" -C link-arg=--threads=1");
rust_flags.push_str(" -C link-arg=--entry=entrypoint");
rust_flags.push_str(" -C linker=");
rust_flags.push_str(linker.to_str().unwrap());
env::set_var("RUSTFLAGS", rust_flags);
let cargo_build = PathBuf::from("cargo");
let mut cargo_build_args = vec![