Bump bpf-tools version to 1.8
This commit is contained in:
parent
c65c4475f6
commit
ab871ed4b7
|
@ -1274,7 +1274,7 @@ fn assert_instruction_count() {
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut passed = true;
|
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() {
|
for program in programs.iter() {
|
||||||
let program_id = solana_sdk::pubkey::new_rand();
|
let program_id = solana_sdk::pubkey::new_rand();
|
||||||
let key = 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 parameter_accounts = vec![KeyedAccount::new(&key, false, &mut account)];
|
||||||
let count = run_program(program.0, &program_id, parameter_accounts, &[]).unwrap();
|
let count = run_program(program.0, &program_id, parameter_accounts, &[]).unwrap();
|
||||||
let diff: i64 = count as i64 - program.1 as i64;
|
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 {
|
if count > program.1 {
|
||||||
passed = false;
|
passed = false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,11 +10,6 @@ SECTIONS
|
||||||
. = SIZEOF_HEADERS;
|
. = SIZEOF_HEADERS;
|
||||||
.text : { *(.text*) } :text
|
.text : { *(.text*) } :text
|
||||||
.rodata : { *(.rodata*) } :rodata
|
.rodata : { *(.rodata*) } :rodata
|
||||||
|
.data.rel.ro : { *(.data.rel.ro*) } :rodata
|
||||||
.dynamic : { *(.dynamic) } :dynamic
|
.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
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 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"
|
||||||
|
|
||||||
# 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"
|
|
||||||
|
|
|
@ -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
|
|
||||||
}
|
|
|
@ -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; }
|
|
|
@ -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
|
|
|
@ -92,7 +92,7 @@ if [[ ! -e criterion-$version.md || ! -e criterion ]]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Install Rust-BPF
|
# Install Rust-BPF
|
||||||
version=v1.7
|
version=v1.8
|
||||||
if [[ ! -e bpf-tools-$version.md || ! -e bpf-tools ]]; then
|
if [[ ! -e bpf-tools-$version.md || ! -e bpf-tools ]]; then
|
||||||
(
|
(
|
||||||
set -e
|
set -e
|
||||||
|
|
|
@ -360,7 +360,7 @@ fn build_bpf_package(config: &Config, target_directory: &Path, package: &cargo_m
|
||||||
install_if_missing(
|
install_if_missing(
|
||||||
&config,
|
&config,
|
||||||
"bpf-tools",
|
"bpf-tools",
|
||||||
"v1.7",
|
"v1.8",
|
||||||
"https://github.com/solana-labs/bpf-tools/releases/download",
|
"https://github.com/solana-labs/bpf-tools/releases/download",
|
||||||
&PathBuf::from(bpf_tools_filename),
|
&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("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"));
|
||||||
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 cargo_build = PathBuf::from("cargo");
|
||||||
let mut cargo_build_args = vec![
|
let mut cargo_build_args = vec![
|
||||||
|
|
Loading…
Reference in New Issue