Bump bpf-tools version to 1.9

- upgrade rustc to 1.52.1 and clang to 12.0
This commit is contained in:
Dmitri Makarov
2021-05-18 19:44:36 +02:00
committed by Justin Starry
parent 9bc20a8cbb
commit cde248ae73
6 changed files with 23 additions and 22 deletions

View File

@ -11,7 +11,7 @@ use solana_bpf_loader_program::{
create_vm, create_vm,
serialization::{deserialize_parameters, serialize_parameters}, serialization::{deserialize_parameters, serialize_parameters},
syscalls::register_syscalls, syscalls::register_syscalls,
ThisInstructionMeter, BpfError, ThisInstructionMeter,
}; };
use solana_cli_output::display::println_transaction; use solana_cli_output::display::println_transaction;
use solana_rbpf::vm::{Config, Executable, Tracer}; use solana_rbpf::vm::{Config, Executable, Tracer};
@ -213,7 +213,8 @@ fn run_program(
enable_instruction_meter: true, enable_instruction_meter: true,
enable_instruction_tracing: true, enable_instruction_tracing: true,
}; };
let mut executable = Executable::from_elf(&data, None, config).unwrap(); let mut executable =
<dyn Executable<BpfError, ThisInstructionMeter>>::from_elf(&data, None, config).unwrap();
executable.set_syscall_registry(register_syscalls(&mut invoke_context).unwrap()); executable.set_syscall_registry(register_syscalls(&mut invoke_context).unwrap());
executable.jit_compile().unwrap(); executable.jit_compile().unwrap();
@ -1281,10 +1282,10 @@ fn assert_instruction_count() {
programs.extend_from_slice(&[ programs.extend_from_slice(&[
("bpf_to_bpf", 13), ("bpf_to_bpf", 13),
("multiple_static", 8), ("multiple_static", 8),
("noop", 45), ("noop", 5),
("relative_call", 10), ("relative_call", 10),
("sanity", 175), ("sanity", 169),
("sanity++", 177), ("sanity++", 168),
("sha", 694), ("sha", 694),
("struct_pass", 8), ("struct_pass", 8),
("struct_ret", 22), ("struct_ret", 22),
@ -1293,18 +1294,18 @@ fn assert_instruction_count() {
#[cfg(feature = "bpf_rust")] #[cfg(feature = "bpf_rust")]
{ {
programs.extend_from_slice(&[ programs.extend_from_slice(&[
("solana_bpf_rust_128bit", 572), ("solana_bpf_rust_128bit", 584),
("solana_bpf_rust_alloc", 8906), ("solana_bpf_rust_alloc", 4967),
("solana_bpf_rust_dep_crate", 2), ("solana_bpf_rust_dep_crate", 2),
("solana_bpf_rust_external_spend", 521), ("solana_bpf_rust_external_spend", 334),
("solana_bpf_rust_iter", 724), ("solana_bpf_rust_iter", 8),
("solana_bpf_rust_many_args", 237), ("solana_bpf_rust_many_args", 189),
("solana_bpf_rust_mem", 3143), ("solana_bpf_rust_mem", 1989),
("solana_bpf_rust_membuiltins", 4069), ("solana_bpf_rust_membuiltins", 1715),
("solana_bpf_rust_noop", 495), ("solana_bpf_rust_noop", 322),
("solana_bpf_rust_param_passing", 46), ("solana_bpf_rust_param_passing", 46),
("solana_bpf_rust_sanity", 917), ("solana_bpf_rust_sanity", 587),
("solana_bpf_rust_sha", 29099), ("solana_bpf_rust_sha", 22417),
]); ]);
} }

View File

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

View File

@ -260,7 +260,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.8", "v1.9",
"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),
) )

View File

@ -135,7 +135,7 @@ pub fn hashv(vals: &[&[u8]]) -> Hash {
{ {
extern "C" { extern "C" {
fn sol_sha256(vals: *const u8, val_len: u64, hash_result: *mut u8) -> u64; fn sol_sha256(vals: *const u8, val_len: u64, hash_result: *mut u8) -> u64;
}; }
let mut hash_result = [0; HASH_BYTES]; let mut hash_result = [0; HASH_BYTES];
unsafe { unsafe {
sol_sha256( sol_sha256(

View File

@ -133,7 +133,7 @@ pub fn hashv(vals: &[&[u8]]) -> Hash {
{ {
extern "C" { extern "C" {
fn sol_keccak256(vals: *const u8, val_len: u64, hash_result: *mut u8) -> u64; fn sol_keccak256(vals: *const u8, val_len: u64, hash_result: *mut u8) -> u64;
}; }
let mut hash_result = [0; HASH_BYTES]; let mut hash_result = [0; HASH_BYTES];
unsafe { unsafe {
sol_keccak256( sol_keccak256(

View File

@ -244,7 +244,7 @@ impl Pubkey {
program_id_addr: *const u8, program_id_addr: *const u8,
address_bytes_addr: *const u8, address_bytes_addr: *const u8,
) -> u64; ) -> u64;
}; }
let mut bytes = [0; 32]; let mut bytes = [0; 32];
let result = unsafe { let result = unsafe {
sol_create_program_address( sol_create_program_address(
@ -327,7 +327,7 @@ impl Pubkey {
address_bytes_addr: *const u8, address_bytes_addr: *const u8,
bump_seed_addr: *const u8, bump_seed_addr: *const u8,
) -> u64; ) -> u64;
}; }
let mut bytes = [0; 32]; let mut bytes = [0; 32];
let mut bump_seed = std::u8::MAX; let mut bump_seed = std::u8::MAX;
let result = unsafe { let result = unsafe {
@ -360,7 +360,7 @@ impl Pubkey {
{ {
extern "C" { extern "C" {
fn sol_log_pubkey(pubkey_addr: *const u8); fn sol_log_pubkey(pubkey_addr: *const u8);
}; }
unsafe { sol_log_pubkey(self.as_ref() as *const _ as *const u8) }; unsafe { sol_log_pubkey(self.as_ref() as *const _ as *const u8) };
} }