[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <05b7830c-1fa8-b613-0535-1f5f5a40a25a@linuxfoundation.org>
Date: Tue, 24 Sep 2019 09:48:35 -0600
From: Shuah Khan <skhan@...uxfoundation.org>
To: Yonghong Song <yhs@...com>,
Alexei Starovoitov <alexei.starovoitov@...il.com>,
Daniel Borkmann <daniel@...earbox.net>
Cc: "open list:KERNEL SELFTEST FRAMEWORK"
<linux-kselftest@...r.kernel.org>, bpf <bpf@...r.kernel.org>,
Networking <netdev@...r.kernel.org>,
"David S. Miller" <davem@...emloft.net>,
Andrii Nakryiko <andriin@...com>,
"skh >> Shuah Khan" <skhan@...uxfoundation.org>
Subject: Re: Linux 5.4 - bpf test build fails
On 9/24/19 9:43 AM, Yonghong Song wrote:
>
>
> On 9/24/19 8:26 AM, Shuah Khan wrote:
>> Hi Alexei and Daniel,
>>
>> bpf test doesn't build on Linux 5.4 mainline. Do you know what's
>> happening here.
>>
>>
>> make -C tools/testing/selftests/bpf/
>>
>> -c progs/test_core_reloc_ptr_as_arr.c -o - || echo "clang failed") | \
>> llc -march=bpf -mcpu=generic -filetype=obj -o
>> /mnt/data/lkml/linux_5.4/tools/testing/selftests/bpf/test_core_reloc_ptr_as_arr.o
>>
>> progs/test_core_reloc_ptr_as_arr.c:25:6: error: use of unknown builtin
>> '__builtin_preserve_access_index' [-Wimplicit-function-declaration]
>> if (BPF_CORE_READ(&out->a, &in[2].a))
>> ^
>> ./bpf_helpers.h:533:10: note: expanded from macro 'BPF_CORE_READ'
>> __builtin_preserve_access_index(src))
>> ^
>> progs/test_core_reloc_ptr_as_arr.c:25:6: warning: incompatible integer to
>> pointer conversion passing 'int' to parameter of type 'const void *'
>> [-Wint-conversion]
>> if (BPF_CORE_READ(&out->a, &in[2].a))
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> ./bpf_helpers.h:533:10: note: expanded from macro 'BPF_CORE_READ'
>> __builtin_preserve_access_index(src))
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> 1 warning and 1 error generated.
>> llc: error: llc: <stdin>:1:1: error: expected top-level entity
>> clang failed
>>
>> Also
>>
>> make TARGETS=bpf kselftest fails as well. Dependency between
>> tools/lib/bpf and the test. How can we avoid this type of
>> dependency or resolve it in a way it doesn't result in build
>> failures?
>
> Thanks, Shuah.
>
> The clang __builtin_preserve_access_index() intrinsic is
> introduced in LLVM9 (which just released last week) and
> the builtin and other CO-RE features are only supported
> in LLVM10 (current development branch) with more bug fixes
> and added features.
>
> I think we should do a feature test for llvm version and only
> enable these tests when llvm version >= 10.
Yes. If new tests depend on a particular llvm revision, the failing
the build is a regression. I would like to see older tests that don't
have dependency build and run.
thanks,
-- Shuah
Powered by blists - more mailing lists