![从 uname -m 映射到 /usr/src/linux-headers/arch/*](https://linux22.com/image/153765/%E4%BB%8E%20uname%20-m%20%E6%98%A0%E5%B0%84%E5%88%B0%20%2Fusr%2Fsrc%2Flinux-headers%2Farch%2F*.png)
我正在构建一个 eBPF 程序。为了构建它,我需要添加-I
一些位于/usr/src/linux-headers-*/arch/x86/include
.
由于该路径是 x86 特定的,为了能够针对非 x86 架构编译它,我需要选择正确的路径作为构建过程的一部分。
但是,Linux 源代码中使用的体系结构名称与uname -m
.例如,如果uname -m
返回x86_64
我需要包含arch/x86/include
,但如果uname -m
返回aarch64
,那么我需要包含arch/arm64/include
。
有没有一种方法可以找到正确arch/*
包含的内容,而无需uname -m
为我所有支持的架构使用映射(->拱形路径)?