Bump bpf-tools version to 1.9
- upgrade rustc to 1.52.1 and clang to 12.0
This commit is contained in:
committed by
Justin Starry
parent
9bc20a8cbb
commit
cde248ae73
@ -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),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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),
|
||||||
)
|
)
|
||||||
|
@ -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(
|
||||||
|
@ -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(
|
||||||
|
@ -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) };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user