Skip to content

Conversation

@LucasSte
Copy link
Contributor

@LucasSte LucasSte commented Oct 9, 2025

No description provided.

@LucasSte LucasSte changed the title SIMD-0XXX: eBPF ISA compatibility SIMD-0377: eBPF ISA compatibility Oct 9, 2025
@LucasSte LucasSte force-pushed the ebpf-compat branch 4 times, most recently from b7c662c to 36dccfe Compare October 9, 2025 20:35

Another consideration was bringing new eBPFv4 instructions to the Solana
environment. They are a superset of eBPFv3 and does not conflict with it,
however they are not yet stabilized, so they can change in future LLVM releaes.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you mean by "not yet stabilized"? Why do llvm releases even matter? Isn't the linux-kernel version the actual definition of the isa that should be relevant for the definition of the solana runtime?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have relied on LLVM for code generation for some years now. The LLVM eBPF target (and the GCC target as well) brings in some instructions that are not yet fully adopted by the kernel, and not necessarily appear in the documentation.

The oldest example is callx (indirect calls). We have supported callx with the LLVM encoding since Solana started, but LLVM has changed its encoding for callx recently (see llvm/llvm-project@c43ad6c), rendering it incompatible with our VM.

What I wanted to point out was to avoid experimenting with v4 before it is officially supported.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants