[PATCH v2] samples/bpf: Fix compilation failure for samples/bpf on LoongArch Fedora

Haoran Jiang posted 1 patch 2 years, 7 months ago
samples/bpf/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH v2] samples/bpf: Fix compilation failure for samples/bpf on LoongArch Fedora
Posted by Haoran Jiang 2 years, 7 months ago
When building the latest samples/bpf on LoongArch Fedora

     make M=samples/bpf

There are compilation errors as follows:

In file included from ./linux/samples/bpf/sockex2_kern.c:2:
In file included from ./include/uapi/linux/in.h:25:
In file included from ./include/linux/socket.h:8:
In file included from ./include/linux/uio.h:9:
In file included from ./include/linux/thread_info.h:60:
In file included from ./arch/loongarch/include/asm/thread_info.h:15:
In file included from ./arch/loongarch/include/asm/processor.h:13:
In file included from ./arch/loongarch/include/asm/cpu-info.h:11:
./arch/loongarch/include/asm/loongarch.h:13:10: fatal error: 'larchintrin.h' file not found
         ^~~~~~~~~~~~~~~
1 error generated.

larchintrin.h is included in /usr/lib64/clang/14.0.6/include,
and the header file location is specified at compile time.

Test on LoongArch Fedora:
https://github.com/fedora-remix-loongarch/releases-info

Signed-off-by: Haoran Jiang <jianghaoran@kylinos.cn>

---
v2:
use LoongArch instead of Loongarch in the title and commit message.
---
 samples/bpf/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/samples/bpf/Makefile b/samples/bpf/Makefile
index 615f24ebc49c..b301796a3862 100644
--- a/samples/bpf/Makefile
+++ b/samples/bpf/Makefile
@@ -434,7 +434,7 @@ $(obj)/%.o: $(src)/%.c
 	@echo "  CLANG-bpf " $@
 	$(Q)$(CLANG) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) $(BPF_EXTRA_CFLAGS) \
 		-I$(obj) -I$(srctree)/tools/testing/selftests/bpf/ \
-		-I$(LIBBPF_INCLUDE) \
+		-I$(LIBBPF_INCLUDE) $(CLANG_SYS_INCLUDES) \
 		-D__KERNEL__ -D__BPF_TRACING__ -Wno-unused-value -Wno-pointer-sign \
 		-D__TARGET_ARCH_$(SRCARCH) -Wno-compare-distinct-pointer-types \
 		-Wno-gnu-variable-sized-type-not-at-end \
-- 
2.27.0
Re: [PATCH v2] samples/bpf: Fix compilation failure for samples/bpf on LoongArch Fedora
Posted by Huacai Chen 2 years, 7 months ago
Reviewed-by: Huacai Chen <chenhuacai@loongson.cn>

On Mon, Jul 10, 2023 at 1:34 PM Haoran Jiang <jianghaoran@kylinos.cn> wrote:
>
> When building the latest samples/bpf on LoongArch Fedora
>
>      make M=samples/bpf
>
> There are compilation errors as follows:
>
> In file included from ./linux/samples/bpf/sockex2_kern.c:2:
> In file included from ./include/uapi/linux/in.h:25:
> In file included from ./include/linux/socket.h:8:
> In file included from ./include/linux/uio.h:9:
> In file included from ./include/linux/thread_info.h:60:
> In file included from ./arch/loongarch/include/asm/thread_info.h:15:
> In file included from ./arch/loongarch/include/asm/processor.h:13:
> In file included from ./arch/loongarch/include/asm/cpu-info.h:11:
> ./arch/loongarch/include/asm/loongarch.h:13:10: fatal error: 'larchintrin.h' file not found
>          ^~~~~~~~~~~~~~~
> 1 error generated.
>
> larchintrin.h is included in /usr/lib64/clang/14.0.6/include,
> and the header file location is specified at compile time.
>
> Test on LoongArch Fedora:
> https://github.com/fedora-remix-loongarch/releases-info
>
> Signed-off-by: Haoran Jiang <jianghaoran@kylinos.cn>
>
> ---
> v2:
> use LoongArch instead of Loongarch in the title and commit message.
> ---
>  samples/bpf/Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/samples/bpf/Makefile b/samples/bpf/Makefile
> index 615f24ebc49c..b301796a3862 100644
> --- a/samples/bpf/Makefile
> +++ b/samples/bpf/Makefile
> @@ -434,7 +434,7 @@ $(obj)/%.o: $(src)/%.c
>         @echo "  CLANG-bpf " $@
>         $(Q)$(CLANG) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) $(BPF_EXTRA_CFLAGS) \
>                 -I$(obj) -I$(srctree)/tools/testing/selftests/bpf/ \
> -               -I$(LIBBPF_INCLUDE) \
> +               -I$(LIBBPF_INCLUDE) $(CLANG_SYS_INCLUDES) \
>                 -D__KERNEL__ -D__BPF_TRACING__ -Wno-unused-value -Wno-pointer-sign \
>                 -D__TARGET_ARCH_$(SRCARCH) -Wno-compare-distinct-pointer-types \
>                 -Wno-gnu-variable-sized-type-not-at-end \
> --
> 2.27.0
>
>
Re: [PATCH v2] samples/bpf: Fix compilation failure for samples/bpf on LoongArch Fedora
Posted by Daniel Borkmann 2 years, 7 months ago
On 7/10/23 7:54 AM, Huacai Chen wrote:
> Reviewed-by: Huacai Chen <chenhuacai@loongson.cn>
> 
> On Mon, Jul 10, 2023 at 1:34 PM Haoran Jiang <jianghaoran@kylinos.cn> wrote:
>>
>> When building the latest samples/bpf on LoongArch Fedora
>>
>>       make M=samples/bpf
>>
>> There are compilation errors as follows:
>>
>> In file included from ./linux/samples/bpf/sockex2_kern.c:2:
>> In file included from ./include/uapi/linux/in.h:25:
>> In file included from ./include/linux/socket.h:8:
>> In file included from ./include/linux/uio.h:9:
>> In file included from ./include/linux/thread_info.h:60:
>> In file included from ./arch/loongarch/include/asm/thread_info.h:15:
>> In file included from ./arch/loongarch/include/asm/processor.h:13:
>> In file included from ./arch/loongarch/include/asm/cpu-info.h:11:
>> ./arch/loongarch/include/asm/loongarch.h:13:10: fatal error: 'larchintrin.h' file not found
>>           ^~~~~~~~~~~~~~~
>> 1 error generated.
>>
>> larchintrin.h is included in /usr/lib64/clang/14.0.6/include,
>> and the header file location is specified at compile time.
>>
>> Test on LoongArch Fedora:
>> https://github.com/fedora-remix-loongarch/releases-info
>>
>> Signed-off-by: Haoran Jiang <jianghaoran@kylinos.cn>
>>
>> ---
>> v2:
>> use LoongArch instead of Loongarch in the title and commit message.
>> ---
>>   samples/bpf/Makefile | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/samples/bpf/Makefile b/samples/bpf/Makefile
>> index 615f24ebc49c..b301796a3862 100644
>> --- a/samples/bpf/Makefile
>> +++ b/samples/bpf/Makefile
>> @@ -434,7 +434,7 @@ $(obj)/%.o: $(src)/%.c
>>          @echo "  CLANG-bpf " $@
>>          $(Q)$(CLANG) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) $(BPF_EXTRA_CFLAGS) \
>>                  -I$(obj) -I$(srctree)/tools/testing/selftests/bpf/ \
>> -               -I$(LIBBPF_INCLUDE) \
>> +               -I$(LIBBPF_INCLUDE) $(CLANG_SYS_INCLUDES) \

There's still one location in XDP_SAMPLE_CFLAGS, do we need the $(CLANG_SYS_INCLUDES)
there as well?

>>                  -D__KERNEL__ -D__BPF_TRACING__ -Wno-unused-value -Wno-pointer-sign \
>>                  -D__TARGET_ARCH_$(SRCARCH) -Wno-compare-distinct-pointer-types \
>>                  -Wno-gnu-variable-sized-type-not-at-end \
>> --
>> 2.27.0
>>
>>