瀏覽代碼

SBPF v0.11.2 + Platform Tools v1.50 (#6769)

* Bumps SBPF to v0.11.2

* Bumps platform tools to v1.50.

* Recompiles test ELFs.

* Fixes dummy executable in mock_create_vm!().

* Adjusts instruction count test.

* Rekeyes enable_sbpf_v3_deployment_and_execution.
Alexander Meißner 4 月之前
父節點
當前提交
553fc1d17f

+ 2 - 2
Cargo.lock

@@ -10269,9 +10269,9 @@ checksum = "61f1bc1357b8188d9c4a3af3fc55276e56987265eb7ad073ae6f8180ee54cecf"
 
 [[package]]
 name = "solana-sbpf"
-version = "0.11.1"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "474a2d95dc819898ded08d24f29642d02189d3e1497bbb442a92a3997b7eb55f"
+checksum = "642335ab08889cd963790faeaa7824e320a5ada4b6eb93ebfc842fa03ddef425"
 dependencies = [
  "byteorder",
  "combine 3.8.1",

+ 1 - 1
Cargo.toml

@@ -499,7 +499,7 @@ solana-rpc-client-types = { path = "rpc-client-types", version = "=3.0.0" }
 solana-runtime = { path = "runtime", version = "=3.0.0" }
 solana-runtime-transaction = { path = "runtime-transaction", version = "=3.0.0" }
 solana-sanitize = "2.2.1"
-solana-sbpf = "=0.11.1"
+solana-sbpf = "=0.11.2"
 solana-sdk-ids = "2.2.1"
 solana-secp256k1-program = "2.2.3"
 solana-secp256k1-recover = "2.2.1"

+ 1 - 1
feature-set/src/lib.rs

@@ -1012,7 +1012,7 @@ pub mod enable_sbpf_v2_deployment_and_execution {
 }
 
 pub mod enable_sbpf_v3_deployment_and_execution {
-    solana_pubkey::declare_id!("C8XZNs1bfzaiT3YDeXZJ7G5swQWQv7tVzDnCxtHvnSpw");
+    solana_pubkey::declare_id!("GJav1vwg2etvSWraPT96QvYuQJswJTJwtcyARrvkhuV9");
 }
 
 pub mod remove_accounts_executable_flag_checks {

+ 1 - 1
platform-tools-sdk/cargo-build-sbf/src/main.rs

@@ -23,7 +23,7 @@ use {
     tar::Archive,
 };
 
-const DEFAULT_PLATFORM_TOOLS_VERSION: &str = "v1.49";
+const DEFAULT_PLATFORM_TOOLS_VERSION: &str = "v1.50";
 
 #[derive(Debug)]
 pub struct Config<'a> {

+ 1 - 1
platform-tools-sdk/cargo-build-sbf/tests/crates/package-metadata/Cargo.toml

@@ -10,7 +10,7 @@ edition = "2021"
 publish = false
 
 [package.metadata.solana]
-tools-version = "v1.49"
+tools-version = "v1.50"
 program-id = "MyProgram1111111111111111111111111111111111"
 
 [dependencies]

+ 1 - 1
platform-tools-sdk/cargo-build-sbf/tests/crates/workspace-metadata/Cargo.toml

@@ -27,4 +27,4 @@ check-cfg = [
 [workspace]
 
 [workspace.metadata.solana]
-tools-version = "v1.49"
+tools-version = "v1.50"

+ 1 - 1
platform-tools-sdk/sbf/scripts/install.sh

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

+ 1 - 1
programs/bpf_loader/src/lib.rs

@@ -303,7 +303,7 @@ macro_rules! mock_create_vm {
         let loader = solana_type_overrides::sync::Arc::new(BuiltinProgram::new_mock());
         let function_registry = solana_sbpf::program::FunctionRegistry::default();
         let executable = solana_sbpf::elf::Executable::<InvokeContext>::from_text_bytes(
-            &[0x9D, 0, 0, 0, 0, 0, 0, 0],
+            &[0x07, 0x0A, 0, 0, 0, 0, 0, 0, 0x9D, 0, 0, 0, 0, 0, 0, 0],
             loader,
             SBPFVersion::V3,
             function_registry,

二進制
programs/bpf_loader/test_elfs/out/noop_aligned.so


二進制
programs/bpf_loader/test_elfs/out/noop_unaligned.so


二進制
programs/bpf_loader/test_elfs/out/sbpfv3_return_err.so


二進制
programs/bpf_loader/test_elfs/out/sbpfv3_return_ok.so


+ 2 - 2
programs/sbf/Cargo.lock

@@ -8690,9 +8690,9 @@ dependencies = [
 
 [[package]]
 name = "solana-sbpf"
-version = "0.11.1"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "474a2d95dc819898ded08d24f29642d02189d3e1497bbb442a92a3997b7eb55f"
+checksum = "642335ab08889cd963790faeaa7824e320a5ada4b6eb93ebfc842fa03ddef425"
 dependencies = [
  "byteorder 1.5.0",
  "combine 3.8.1",

+ 1 - 1
programs/sbf/Cargo.toml

@@ -151,7 +151,7 @@ solana-sbf-rust-mem-dep = { path = "rust/mem_dep", version = "=3.0.0" }
 solana-sbf-rust-param-passing-dep = { path = "rust/param_passing_dep", version = "=3.0.0" }
 solana-sbf-rust-realloc-dep = { path = "rust/realloc_dep", version = "=3.0.0" }
 solana-sbf-rust-realloc-invoke-dep = { path = "rust/realloc_invoke_dep", version = "=3.0.0" }
-solana-sbpf = "=0.11.1"
+solana-sbpf = "=0.11.2"
 solana-sdk-ids = "=2.2.1"
 solana-secp256k1-recover = "=2.2.1"
 solana-sha256-hasher = { version = "=2.2.1", features = ["sha2"] }

+ 20 - 20
programs/sbf/tests/programs.rs

@@ -1284,17 +1284,17 @@ fn assert_instruction_count() {
     #[cfg(feature = "sbf_c")]
     {
         programs.extend_from_slice(&[
-            ("alloc", 19332),
+            ("alloc", 18572),
             ("sbf_to_sbf", 316),
             ("multiple_static", 210),
             ("noop", 6),
             ("noop++", 6),
             ("relative_call", 212),
-            ("return_data", 1027),
-            ("sanity", 2396),
-            ("sanity++", 2296),
-            ("secp256k1_recover", 25483),
-            ("sha", 1447),
+            ("return_data", 1026),
+            ("sanity", 2374),
+            ("sanity++", 2274),
+            ("secp256k1_recover", 25422),
+            ("sha", 1446),
             ("struct_pass", 108),
             ("struct_ret", 122),
         ]);
@@ -1302,20 +1302,20 @@ fn assert_instruction_count() {
     #[cfg(feature = "sbf_rust")]
     {
         programs.extend_from_slice(&[
-            ("solana_sbf_rust_128bit", 969),
-            ("solana_sbf_rust_alloc", 5077),
-            ("solana_sbf_rust_custom_heap", 304),
-            ("solana_sbf_rust_dep_crate", 2),
-            ("solana_sbf_rust_iter", 1514),
-            ("solana_sbf_rust_many_args", 1290),
-            ("solana_sbf_rust_mem", 1302),
-            ("solana_sbf_rust_membuiltins", 331),
-            ("solana_sbf_rust_noop", 314),
-            ("solana_sbf_rust_param_passing", 108),
-            ("solana_sbf_rust_rand", 278),
-            ("solana_sbf_rust_sanity", 51325),
-            ("solana_sbf_rust_secp256k1_recover", 89388),
-            ("solana_sbf_rust_sha", 22855),
+            ("solana_sbf_rust_128bit", 801),
+            ("solana_sbf_rust_alloc", 4983),
+            ("solana_sbf_rust_custom_heap", 303),
+            ("solana_sbf_rust_dep_crate", 3),
+            ("solana_sbf_rust_iter", 1414),
+            ("solana_sbf_rust_many_args", 1287),
+            ("solana_sbf_rust_mem", 1298),
+            ("solana_sbf_rust_membuiltins", 330),
+            ("solana_sbf_rust_noop", 313),
+            ("solana_sbf_rust_param_passing", 109),
+            ("solana_sbf_rust_rand", 276),
+            ("solana_sbf_rust_sanity", 18116),
+            ("solana_sbf_rust_secp256k1_recover", 89274),
+            ("solana_sbf_rust_sha", 22811),
         ]);
     }
 

+ 2 - 2
svm/examples/Cargo.lock

@@ -7741,9 +7741,9 @@ checksum = "61f1bc1357b8188d9c4a3af3fc55276e56987265eb7ad073ae6f8180ee54cecf"
 
 [[package]]
 name = "solana-sbpf"
-version = "0.11.1"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "474a2d95dc819898ded08d24f29642d02189d3e1497bbb442a92a3997b7eb55f"
+checksum = "642335ab08889cd963790faeaa7824e320a5ada4b6eb93ebfc842fa03ddef425"
 dependencies = [
  "byteorder",
  "combine 3.8.1",