-
Notifications
You must be signed in to change notification settings - Fork 4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rename toolchain target triple to solana specific name #19113
Comments
We might want to rename our crate https://lib.rs/crates/solana_rbpf to match the new architecture name. Also, now that we are explicitly talking about our ABI, wouldn't that make |
yes, I think |
Should I use |
I updated the issue description to include a list of all the places I could think of that need to be changes. Please add any others I might have missed |
Do we still need the special BPF instructions for loading from the input section? Also, we might want to collect all differences of sbf from bpf in one place. |
I assume you are talking about the ones described in section 9.7.4.5 here: Yes I think we should get rid of those. As for an SBF spec (including differences from BPF) I'd like to see something simple and clear like this: |
I added a task to remove the fixed frame size restriction as discussed in #13391. |
For now I'm not adding a new SBF backend, but reusing the existing BPF backend. I hope to keep it this way to make it easier to bring in new changes from the upstream, while maintaining SBF customizations isolated in the original BPF backend. |
Another wish for SBF: Restrict the |
Architectural changes are being captured here in #20323, I've added this one. |
anza-xyz/llvm-project#19 The above changes make |
Problem
The current target triple used by the compiler toolchain is
bpfel-unknown-unknown
. As we move further from the original BPF architecture in various ways, we should distinguish our toolchain by using a Solana-specific target triple.Proposed Solution
The Solana-specific flavor of the original BPF is called Solana Bytecode Format or SBF. The new target triple used by the compiler toolchain will be
sbf-solana-solana
, wheresbf
is the architecture,solana
is the vendor, andnone
is the operating system.In this issue, we'll collect information about everything in the existing Solana ecosystem that may be affected by changing the target triple.
Things that should to be changed first to enable SBFv2
Machine: Linux BPF
). See detail in above task.target_arch
check to usesbf
in addition tobpf
build-bpf
no longer makes sense, createbuild-sbf
and aliasbuild-bpf
os
mod from "BPF" to "SBP"The rest of the things that need to be changed:
sdk/program/src/bpf_loader.rs
and the likesdk/bpf
) renamed as well as update the C headers to SBFno-bpf-jit
The above list is all the places that need to change. Please add any missing ones. The list is long and some will be much harder than others but they don't all have to be done at once.
The text was updated successfully, but these errors were encountered: