Skip to content
This repository was archived by the owner on Jan 22, 2025. It is now read-only.
This repository was archived by the owner on Jan 22, 2025. It is now read-only.

Solana BPF v3 #29863

Closed as not planned
Closed as not planned
@Lichtso

Description

@Lichtso
  • Specification
    • Add BTF features:
      • Rust trait type
      • Target type of transmutation / reinterpretation instructions
    • Remove BTF features:
      • Volatile
      • Floats
  • Toolchain
    • ELF DT_NEEDED entries for defining on-chain addresses of dependencies
    • cargo (dependencies)
    • rustc (attribute)
    • LLVM: Lift C type restriction, inject runtime code for lifetime tracking
    • Emit canonical bounds checks of dynamic array sub-slicing
  • Loader
    • Reject cyclic dependencies when deploying a program
    • Enforce redeployment maintains existing interfaces (function signatures and types)
    • [Optional] Support type migration
  • ELF BTF section parser
  • Type inference
    • Track types of registers
    • Track types of stack slots
  • Verifier
    • Verify canonical bounds checks of dynamic array sub-slicing exist
    • Reject ptr transmutation / reinterpretation
    • Forbid ptr introspection or order based comparison, only allow equality test (check for aliasing)
    • Prevent pointers becoming unaligned

Metadata

Metadata

Assignees

Labels

runtimeIssues related to runtime, BPF, and LLVMstale[bot only] Added to stale content; results in auto-close after a week.

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions