Open dave-tucker opened 3 years ago
What do we need to concretely do here? I guess that:
ctg(bpf_target_arch)
. bpf_target_arch
is a hack. How do we fix that?
bpfel_aarch64-unknown-none
, bpfel_x86_64-unknown-none
?extern "C"
? I guess yes, but I need to double check.Regarding some previous concerns from @dave-tucker
The only issue might be https://github.com/aya-rs/bpf-linker/issues/1 since that will require the debug bitcode not to break LLVM's dwarf to btf conversion. Which may require LLVM and/or rustc patches.
We chatted a bit with Josh Triplett on LPC, he said that BTF and disabling debug info in bpf-linker is not an issue and shouldn't be an obstacle in getting to Tier 2.
I'm unclear where this documentation should live, but I think it's do-able
I think it should live here:
https://doc.rust-lang.org/rustc/platform-support.html
like i.e. https://doc.rust-lang.org/rustc/platform-support/wasm64-unknown-unknown.html
and follow the template https://doc.rust-lang.org/rustc/platform-support/TEMPLATE.html
This is also going to require some research, especially as integer overflow checks in the debug profile upset the eBPF verifier.
Is it still the case?
Seeing as BPF has spent a few release cycles at Tier 3, we should think about Tier 2.
This is the policy for Tier 2 targets: https://doc.rust-lang.org/nightly/rustc/target-tier-policy.html#tier-2-target-policy
Tier 3 checklist was here
:heavy_check_mark:
That would be @alessandrod and @dave-tucker and anyone else who would like to volunteer
I think this is ok, since codegen is done in the linker. The only issue might be #1 since that will require the debug bitcode not to break LLVM's dwarf to btf conversion. Which may require LLVM and/or rustc patches.
I'm unclear where this documentation should live, but I think it's do-able
This is going to require a lot of work :thinking: We'll need to create an issue to track exactly what we can and can't support here and make sure it gets folded in to the documentation above.
This is also going to require some research, especially as integer overflow checks in the debug profile upset the eBPF verifier.
Yup, I guess we'd need to implement that too.
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark:
:heavy_check_mark: