Package: llvm-19 Version: 1:19.1.7-3 Affects: src:opensnitch When trying to build opensnitch on armhf, the ebpf modules fail to build with the following error:
make[2]: Entering directory '/home/pere/opensnitch-1.6.8/ebpf_prog' clang -I. -I/usr/src/linux-headers-6.12.22-armmp//arch/arm/include/generated/ -I/usr/src/linux-headers-6.12.22-armmp//include -include /lib/modules/6.12.22-armmp/source/include/linux/kconfig.h -I/lib/modules/6.12.22-armmp/source/include -I/lib/modules/6.12.22-armmp/source/include/uapi -I/lib/modules/6.12.22-armmp/source/include/generated/uapi -I/lib/modules/6.12.22-armmp/source/arch/arm/include -I/lib/modules/6.12.22-armmp/source/arch/arm/include/generated -I/lib/modules/6.12.22-armmp/source/arch/arm/include/uapi -I/lib/modules/6.12.22-armmp/source/arch/arm/include/generated/uapi -I/lib/modules/6.12.22-armmp/source/tools/testing/selftests/bpf/ -D__KERNEL__ -D__BPF_TRACING__ -Wno-unused-value -Wno-pointer-sign -D__TARGET_ARCH_arm -Wno-compare-distinct-pointer-types "-D__LINUX_ARM_ARCH__=7" -Wno-gnu-variable-sized-type-not-at-end -Wno-address-of-packed-member -Wno-tautological-compare -Wno-unknown-warning-option -g -O2 -emit-llvm -c opensnitch.c -o opensnitch.o.partial llc -march=bpf -mcpu=generic -filetype=obj -o opensnitch.o opensnitch.o.partial <inline asm>:1:1: error: unknown directive .syntax unified ^ The problem is the -march=bpf option on the command line. Without it, the code build, but is not a eBPF module. :( Because of this, I had to exclude armhf from building the ebpf modules in debian/rules. To test for yourself, update d/rules and add armhf to the list of architectures with EBPF enabled. The same code build with llvm-19 on arm64 and amd64. -- Happy hacking Petter Reinholdtsen