On Tue, 2025-05-20 at 14:49 +0800, Tiezhu Yang wrote:
larchintrin.h is a system header of compiler, include it in the
kernel header may lead to the fatal error "'larchintrin.h' file
not found".
There are two related cases so far:
(1) When compiling samples/bpf, it has been fixed in the latest
kernel [1].
(2) When running bcc script, it has been fixed in the latest
bcc [2] [3], like this:
$ /usr/share/bcc/tools/filetop
In file included from <built-in>:4:
In file included from /virtual/include/bcc/helpers.h:54:
In file included from arch/loongarch/include/asm/page.h:7:
In file included from arch/loongarch/include/asm/addrspace.h:9:
arch/loongarch/include/asm/loongarch.h:11:10: fatal error: 'larchintrin.h' file not found
11 | #include <larchintrin.h>
| ^~~~~~~~~~~~~~~
1 error generated.
Maybe there are same errors for the other unknown projects, it is
annoyance to add the include path each time. In order to avoid such
errors once and for all, do not include larchintrin.h, just use the
builtin functions directly.
Sorry, but in GCC those builtin functions are not documented and may
subject to change in the future. Only the larchintrin.h interface is
documented.
Thus if you don't want to rely on GCC for those operations, you may need
to write inline asm...