2023-07-10 02:36:33

by [email protected]

[permalink] [raw]
Subject: [PATCH] samples/bpf: Fix compilation failure for samples/bpf on Loongarch Fedora

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 <[email protected]>
---
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



2023-07-10 05:22:56

by Huacai Chen

[permalink] [raw]
Subject: Re: [PATCH] samples/bpf: Fix compilation failure for samples/bpf on Loongarch Fedora

Please use LoongArch instead of Loongarch in the title and commit message.

Huacai

On Mon, Jul 10, 2023 at 10:08 AM Haoran Jiang <[email protected]> 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 <[email protected]>
> ---
> 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
>

2023-07-10 05:43:26

by [email protected]

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

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 <[email protected]>

---
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


2023-07-10 06:10:47

by Huacai Chen

[permalink] [raw]
Subject: Re: [PATCH v2] samples/bpf: Fix compilation failure for samples/bpf on LoongArch Fedora

Reviewed-by: Huacai Chen <[email protected]>

On Mon, Jul 10, 2023 at 1:34 PM Haoran Jiang <[email protected]> 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 <[email protected]>
>
> ---
> 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
>
>

2023-07-11 08:15:31

by Daniel Borkmann

[permalink] [raw]
Subject: Re: [PATCH v2] samples/bpf: Fix compilation failure for samples/bpf on LoongArch Fedora

On 7/10/23 7:54 AM, Huacai Chen wrote:
> Reviewed-by: Huacai Chen <[email protected]>
>
> On Mon, Jul 10, 2023 at 1:34 PM Haoran Jiang <[email protected]> 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 <[email protected]>
>>
>> ---
>> 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
>>
>>


2023-07-11 11:28:12

by [email protected]

[permalink] [raw]
Subject: 回复:[PATCH v2] samples/bpf: Fix compilation failure for samples/bpf on LoongArch Fedora

?? 2023-07-11????Ĩ?? 09:39 +0200??Daniel Borkmann????笡?
> On 7/10/23 7:54 AM, Huacai Chen wrote:
> > Reviewed-by: Huacai Chen <[email protected]>
> >
> > On Mon, Jul 10, 2023 at 1:34PM Haoran Jiang <
> > [email protected]> 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 <[email protected]>
> > >
> > > ---
> > > 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?

XDP_SAMPLE_CFLAGS only affects the compilation of xdp_sample_user.c. It
is a user-mode application??the associated header files of clang are not
used. larchintrin.h will only be included in *.bpf.c and *kern.c
files.So I don't think $(CLANG_SYS_INCLUDES) needs to be included here.

>
> > > -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
> > >
> > >