|
|
|
|
|
by hnlmorg
31 days ago
|
|
> Why transpile, not generate BPF directly > gc, the Go compiler, has no LLVM-based BPF backend. Adding one is a multi-year compiler project. rustc is built on LLVM and that's why Aya works. So gobee emits C and reuses clang's BPF backend, which gives us mature codegen, BTF, and CO-RE relocations for free. I wonder if TinyGo (https://tinygo.org/) might be a better fit here: > TinyGo brings the Go programming language to embedded systems and to the modern web by creating a new compiler based on LLVM. I've not played with TinyGo much so would be interested to hear other peoples experiences. |
|