Skip to content

Releases: solana-labs/rbpf

solana_rbpf v0.8.2

09 Jul 10:49
a400aa7
Compare
Choose a tag to compare
  • #579: Adds documentation for the VMs bytecode
  • #551: Cleanup - old Goblin ELF parser
  • #576: Add shuttle testing infrastructure

solana_rbpf v0.8.1

29 May 13:28
4dc039f
Compare
Choose a tag to compare
  • #574: Tests - Increases Config::max_call_depth default from 20 to 64
  • #573: Fix - mislabelled mul64_imm and mul64_reg
  • #572: Fix - Accept blank spaces between register and offset
  • #571: Fix - Assembler source register check
  • #570: Cleanup - Rename disable_lddw to enable_lddw for consistency
  • #567: Fix #557
  • #569: Feature - Assembler directives
  • #568: Fix - Verify imm not offset in CALL_IMM
  • #560: Fix - cfg flags of memory_management module
  • #558: Tests - Exercise le instructions
  • #557: Fix - JIT second level defence
  • #552: Tests - Exercise all bpf instructions
  • #556: Fix - JIT randomized start padding length
  • #554: Fix - JIT second level defence

solana_rbpf v0.8.0

19 Oct 13:07
b503a18
Compare
Choose a tag to compare
  • #545: Refactor - Adds generic type parameter to declare_builtin_function!()
  • #543: Feature - EbpfVm::invoke_function()
  • #542: Minor Fixes
  • #541: Cleanup - Removes ELF_INSN_DUMP_OFFSET
  • #537: Add error message when elf_parser fails on long section names
  • #536: Refactor - Improve syscall errors
  • #535: Refactor - vm interface of BuiltinFunctions
  • #534: Refactor - Optimize JIT registers
  • #533: Refactor - Adds a reference to the loader in the VM
  • #531: Refactor - Replaces hard coded register names with constants in JIT
  • #530: Refactor - Adds macro declare_builtin_function
  • #529: Refactor - Store exception pc back in vm
  • #527: Refactor - Error handling
  • #526: Refactor - Moves SBPFVersion, FunctionRegistry, BuiltinFunction and BuiltinProgram into a new file

solana_rbpf v0.7.2

25 Sep 13:10
9bfa436
Compare
Choose a tag to compare
  • #523: Fix - make sure RSP is 16 byte aligned when we call into rust code
  • #514: Fix - correctly load the StableResult discriminant in emit_result_is_err
  • #522: Feature - Restricts the final instruction in each function to be diverted
  • #521: CI - Adds messages to assertions in the execution tests
  • #518: Fix - Missing BPF_MUL result sign extension
  • #519: CI - Missing coverage for syscalls in test_code_length_estimate()

solana_rbpf v0.6.1

19 Sep 16:35
3d10fe4
Compare
Choose a tag to compare
  • #516: Backport #505 and #513 to v0.6
  • #515: jit: make sure RSP is 16 byte aligned when we call into rust code

solana_rbpf v0.7.1

06 Sep 17:38
c001c6c
Compare
Choose a tag to compare
  • #511: Fix - Disables the AArch64 target
  • #510: Fix - compilation errors in aarch64.rs

solana_rbpf v0.7.0

06 Sep 17:02
006308e
Compare
Choose a tag to compare
  • #508: Fix - mmap fd should be -1 when creating anonymous mappings
  • #507: Fix - BuiltinProgram::fmt()
  • #506: Tests - For BuiltinProgram::eq()
  • #505: Fix - Adds error message in case std::alloc::alloc() fails
  • #504: Fix - Missing Eq for BuiltinProgram
  • #503: Refactor - Split target specific dependencies in Cargo.toml
  • #501: Tests - For the deprecated SBPFv1-only instructions
  • #500: Refactor - Remove generic parameter Verifier from Executable
  • #494: Refactor - emit_product_quotient_remainder() in JIT
  • #499: Minor Fixes
  • #496: Refactor - lduw to hor64
  • #495: Cleanup - Removes unused instruction encodings
  • #493: Refactor - Disables little-endian byte swap instructions in SBPFv2
  • #492: Refactor - Moves runtime_environment_key out of Config into a static variable
  • #491: Fix - callx encoding
  • #490: Feature - JIT code emitter stage for aarch64
  • #489: Feature - Swaps parameters of sub reg, imm and removes neg
  • #488: Refactor - Replaces sub r11, imm with add r11, -imm
  • #487: Fix - unused mut in MemoryRegion constructors
  • #486: Feature - lduw (load upper word immediate)
  • #484: Refactor - FunctionRegistry
  • #485: Tests - Rewrite of C ELF tests to Rust or ASM
  • #483: Refactor - fixup_relative_calls()
  • #481: Feature - Restrict rodata layout in SBPFv2
  • #479: Fix - ELF tests a bit
  • #478: ELF - error out if sbpf_version.enable_elf_vaddr() and config.optimize_rodata=false

solana_rbpf v0.6.0

28 Jun 18:55
d91f880
Compare
Choose a tag to compare
  • #475: Refactor - Move Executable out of EbpfVm
  • #473: Refactor - Moves config flags into executable capabilities
  • #474: Fix - enable_address_translation = false
  • #472: Fix - Gapped memory vm_addr_end

solana_rbpf v0.5.0

02 Jun 12:53
86a219e
Compare
Choose a tag to compare
  • #470: Limit - Reduce SYMBOL_NAME_LENGTH_MAXIMUM to 64
  • #469: Refactor - Remove UTF-8 from ELF paser
  • #468: Fix - New ELF parser first section header type
  • #467: Refactor - BuiltinProgram
  • #465: Fix CFG visualization when dynamic analysis is not available

solana_rbpf v0.4.0

11 May 14:09
5e38501
Compare
Choose a tag to compare
  • #462 Remove unreachable BssNotSupported error
  • #463 Minor adjustment from cargo clippy
  • #461 elf: cap the number of allowed program headers
  • #460 Feature - Adds MemoryMapping::Identity
  • #459 Cleanup - tests
  • #458 Refactor - Dissolves the wrapper VerifiedExecutable
  • #457 Refactor - BuiltInProgram::register_function()