aboutsummaryrefslogtreecommitdiffstats
path: root/include/bpf.mk
Commit message (Collapse)AuthorAgeFilesLines
* bpf-headers: switch to mips64 for 64 bit targetsFelix Fietkau2021-11-191-2/+2
| | | | | | | | BTF pointer data has a different size on 32 vs 64 bit targets, and while the generated eBPF code works, the BTF data fails to validate on mismatch Signed-off-by: Felix Fietkau <nbd@nbd.name>
* include/bpf.mk: preserve the bpf .o file with debug symbolsFelix Fietkau2021-11-191-0/+1
| | | | | | Makes it easier to analyze verifier complaints Signed-off-by: Felix Fietkau <nbd@nbd.name>
* include/bpf.mk: fix typo in clang version checkFelix Fietkau2021-11-121-1/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* include/bpf.mk: check minimum required clang versionFelix Fietkau2021-11-091-0/+10
| | | | | | | Avoid spurious runtime errors caused by loading eBPF modules built with an old clang version Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: add support for using prebuilt LLVM toolchainFelix Fietkau2021-11-041-3/+7
| | | | | | | | When the prebuilt llvm toolchain is unpacked into the source dir, it is automatically picked up and used by the build system, and eBPF based packages can be selected Signed-off-by: Felix Fietkau <nbd@nbd.name>
* llvm-bpf: move to staging_dir/host/llvm-bpfFelix Fietkau2021-11-041-1/+1
| | | | | | This makes it easier to package it up for the download server Signed-off-by: Felix Fietkau <nbd@nbd.name>
* include/bpf.mk: fix compile for big-endian targetsFelix Fietkau2021-11-021-2/+3
| | | | | | llvm-opt and llc need endian flags in the target as well Signed-off-by: Felix Fietkau <nbd@nbd.name>
* include/bpf.mk: fix typoFelix Fietkau2021-11-021-1/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: fix bpf toolchain dependency for qosifyFelix Fietkau2021-11-011-0/+2
| | | | | | Add hidden symbols to fix defaults with CONFIG_DEVEL unset Signed-off-by: Felix Fietkau <nbd@nbd.name>
* bpf-headers: add a package with kernel headers for ebpfFelix Fietkau2021-11-011-0/+65
In order to genererate suitable kernel headers, a 5.10 kernel tree is prepared with a default config for mips. The arch is forced to mips in order to avoid issues with inline asm on various architectures in a way that doesn't involve relying on the host toolchain/headers. It also has the advantage of supporting both endian types Signed-off-by: Felix Fietkau <nbd@nbd.name>