Bump platform-tools to v1.39 (#33804)

This commit is contained in:
Dmitri Makarov 2023-10-21 16:22:16 -04:00 committed by GitHub
parent af9c754690
commit 8260ffc1ef
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 16 additions and 15 deletions

View File

@ -1131,10 +1131,11 @@ fn process_instruction(
#[rustversion::attr(since(1.72), allow(invalid_reference_casting))] #[rustversion::attr(since(1.72), allow(invalid_reference_casting))]
fn overwrite_account_key(account: &AccountInfo, key: *const Pubkey) { fn overwrite_account_key(account: &AccountInfo, key: *const Pubkey) {
unsafe { unsafe {
*mem::transmute::<_, *mut *const Pubkey>(&account.key) = key; let ptr = mem::transmute::<_, *mut *const Pubkey>(&account.key);
std::ptr::write_volatile(ptr, key);
} }
} }
overwrite_account_key(account, key as *const Pubkey); overwrite_account_key(&accounts[ARGUMENT_INDEX], key as *const Pubkey);
let callee_program_id = accounts[CALLEE_PROGRAM_INDEX].key; let callee_program_id = accounts[CALLEE_PROGRAM_INDEX].key;
invoke( invoke(
@ -1181,7 +1182,8 @@ fn process_instruction(
#[rustversion::attr(since(1.72), allow(invalid_reference_casting))] #[rustversion::attr(since(1.72), allow(invalid_reference_casting))]
fn overwrite_account_owner(account: &AccountInfo, owner: *const Pubkey) { fn overwrite_account_owner(account: &AccountInfo, owner: *const Pubkey) {
unsafe { unsafe {
*mem::transmute::<_, *mut *const Pubkey>(&account.owner) = owner; let ptr = mem::transmute::<_, *mut *const Pubkey>(&account.owner);
std::ptr::write_volatile(ptr, owner);
} }
} }
overwrite_account_owner(account, owner as *const Pubkey); overwrite_account_owner(account, owner as *const Pubkey);
@ -1309,7 +1311,7 @@ struct RcBox<T> {
#[rustversion::attr(since(1.72), allow(invalid_reference_casting))] #[rustversion::attr(since(1.72), allow(invalid_reference_casting))]
unsafe fn overwrite_account_data(account: &AccountInfo, data: Rc<RefCell<&mut [u8]>>) { unsafe fn overwrite_account_data(account: &AccountInfo, data: Rc<RefCell<&mut [u8]>>) {
std::ptr::write( std::ptr::write_volatile(
&account.data as *const _ as usize as *mut Rc<RefCell<&mut [u8]>>, &account.data as *const _ as usize as *mut Rc<RefCell<&mut [u8]>>,
data, data,
); );

View File

@ -150,8 +150,7 @@ fn process_instruction(
// Not sure how to get a const data length in an Rc<RefCell<&mut [u8]>> // Not sure how to get a const data length in an Rc<RefCell<&mut [u8]>>
} }
3 => { 3 => {
let mut new_accounts = let new_accounts = &mut [READONLY_ACCOUNTS[0].clone(), READONLY_ACCOUNTS[1].clone()];
&mut [READONLY_ACCOUNTS[0].clone(), READONLY_ACCOUNTS[1].clone()];
new_accounts[1].owner_addr = &PUBKEY as *const _ as u64; new_accounts[1].owner_addr = &PUBKEY as *const _ as u64;
let system_instruction = system_instruction::assign(accounts[1].key, program_id); let system_instruction = system_instruction::assign(accounts[1].key, program_id);
let metas = &[SolAccountMeta { let metas = &[SolAccountMeta {

View File

@ -1403,17 +1403,17 @@ fn assert_instruction_count() {
{ {
programs.extend_from_slice(&[ programs.extend_from_slice(&[
("solana_sbf_rust_128bit", 1218), ("solana_sbf_rust_128bit", 1218),
("solana_sbf_rust_alloc", 5067), ("solana_sbf_rust_alloc", 5077),
("solana_sbf_rust_custom_heap", 398), ("solana_sbf_rust_custom_heap", 398),
("solana_sbf_rust_dep_crate", 2), ("solana_sbf_rust_dep_crate", 2),
("solana_sbf_rust_iter", 1013), ("solana_sbf_rust_iter", 1514),
("solana_sbf_rust_many_args", 1289), ("solana_sbf_rust_many_args", 1289),
("solana_sbf_rust_mem", 2067), ("solana_sbf_rust_mem", 2067),
("solana_sbf_rust_membuiltins", 1539), ("solana_sbf_rust_membuiltins", 1539),
("solana_sbf_rust_noop", 275), ("solana_sbf_rust_noop", 275),
("solana_sbf_rust_param_passing", 146), ("solana_sbf_rust_param_passing", 146),
("solana_sbf_rust_rand", 378), ("solana_sbf_rust_rand", 378),
("solana_sbf_rust_sanity", 51931), ("solana_sbf_rust_sanity", 51953),
("solana_sbf_rust_secp256k1_recover", 91185), ("solana_sbf_rust_secp256k1_recover", 91185),
("solana_sbf_rust_sha", 24059), ("solana_sbf_rust_sha", 24059),
]); ]);
@ -1465,7 +1465,7 @@ fn assert_instruction_count() {
diff, diff,
100.0_f64 * consumption as f64 / *expected_consumption as f64 - 100.0_f64, 100.0_f64 * consumption as f64 / *expected_consumption as f64 - 100.0_f64,
); );
assert_eq!(consumption, *expected_consumption); assert!(consumption <= *expected_consumption);
}, },
); );
} }

View File

@ -109,7 +109,7 @@ if [[ ! -e criterion-$version.md || ! -e criterion ]]; then
fi fi
# Install Rust-BPF # Install Rust-BPF
version=v1.37 version=v1.39
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

@ -82,7 +82,7 @@ where
.iter() .iter()
.map(|arg| arg.as_ref().to_str().unwrap_or("?")) .map(|arg| arg.as_ref().to_str().unwrap_or("?"))
.join(" "); .join(" ");
info!("spawn: {}", msg); info!("spawn: {:?} {}", program, msg);
let child = Command::new(program) let child = Command::new(program)
.args(args) .args(args)
@ -911,7 +911,7 @@ fn main() {
// The following line is scanned by CI configuration script to // The following line is scanned by CI configuration script to
// separate cargo caches according to the version of platform-tools. // separate cargo caches according to the version of platform-tools.
let platform_tools_version = String::from("v1.37"); let platform_tools_version = String::from("v1.39");
let rust_base_version = get_base_rust_version(platform_tools_version.as_str()); let rust_base_version = get_base_rust_version(platform_tools_version.as_str());
let version = format!( let version = format!(
"{}\nplatform-tools {}\n{}", "{}\nplatform-tools {}\n{}",

View File

@ -9,7 +9,7 @@ repository = { workspace = true }
homepage = { workspace = true } homepage = { workspace = true }
license = { workspace = true } license = { workspace = true }
edition = { workspace = true } edition = { workspace = true }
rust-version = "1.68.0" # solana platform-tools rust version rust-version = "1.72.0" # solana platform-tools rust version
[dependencies] [dependencies]
bincode = { workspace = true } bincode = { workspace = true }

View File

@ -109,7 +109,7 @@ if [[ ! -e criterion-$version.md || ! -e criterion ]]; then
fi fi
# Install platform tools # Install platform tools
version=v1.37 version=v1.39
if [[ ! -e platform-tools-$version.md || ! -e platform-tools ]]; then if [[ ! -e platform-tools-$version.md || ! -e platform-tools ]]; then
( (
set -e set -e