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

Reply via email to