linux-kselftest.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Yonghong Song <yhs@fb.com>
To: Prabhakar Kushwaha <prabhakar.pkin@gmail.com>,
	"ast@kernel.org" <ast@kernel.org>,
	"daniel@iogearbox.net" <daniel@iogearbox.net>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"linux-kselftest@vger.kernel.org"
	<linux-kselftest@vger.kernel.org>
Subject: Re: Linux-5.4: bpf: test_core_reloc_arrays.o: Segmentation fault with llc -march=bpf
Date: Wed, 23 Oct 2019 02:34:26 +0000	[thread overview]
Message-ID: <6fddbb7c-50e4-2d1f-6f88-1d97107e816f@fb.com> (raw)
In-Reply-To: <8080a9a2-82f1-20b5-8d5d-778536f91780@gmail.com>



On 10/22/19 6:35 PM, Prabhakar Kushwaha wrote:
> 
>   Adding other mailing list, folks...
> 
> Hi All,
> 
> I am trying to build kselftest on Linux-5.4 on ubuntu 18.04. I installed
> LLVM-9.0.0 and Clang-9.0.0 from below links after following steps from
> [1] because of discussion [2]

Could you try latest llvm trunk (pre-release 10.0.0)?
LLVM 9.0.0 has some codes for CORE, but it is not fully supported and
has some bugs which are only fixed in LLVM 10.0.0. We intend to make
llvm 10 as the one we claim we have support. Indeed CORE related
changes are mostly added during 10.0.0 development period.

> 
>   https://urldefense.proofpoint.com/v2/url?u=https-3A__releases.llvm.org_9.0.0_llvm-2D9.0.0.src.tar.xz&d=DwICaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=DA8e1B5r073vIqRrFz7MRA&m=skkgb9pZFIuJRG9JQNUcOnsiNBoYeDxEgrmStbFX4qs&s=fCk1MYIywY_WcJU6MlTqGT5KLLY95b5DhNMJwSxUv_8&e=
>   https://urldefense.proofpoint.com/v2/url?u=https-3A__releases.llvm.org_9.0.0_clang-2Dtools-2Dextra-2D9.0.0.src.tar.xz&d=DwICaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=DA8e1B5r073vIqRrFz7MRA&m=skkgb9pZFIuJRG9JQNUcOnsiNBoYeDxEgrmStbFX4qs&s=2-ZFVNs_M0v6CT-oUpUvNRx_UHjMswWPhK9XNiuqLck&e=
>   https://urldefense.proofpoint.com/v2/url?u=https-3A__releases.llvm.org_9.0.0_cfe-2D9.0.0.src.tar.xz&d=DwICaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=DA8e1B5r073vIqRrFz7MRA&m=skkgb9pZFIuJRG9JQNUcOnsiNBoYeDxEgrmStbFX4qs&s=C4i_D5AKTLTT0cYgHySiy-SOIuYCWvusxlANj0NrGLY&e=
> 
> Now, i am trying with llc -march=bpf, with this segmentation fault is
> coming as below:
> 
> gcc -g -Wall -O2 -I../../../include/uapi -I../../../lib
> -I../../../lib/bpf -I../../../../include/generated -DHAVE_GENHDR
> -I../../../include -Dbpf_prog_load=bpf_prog_test_load
> -Dbpf_load_program=bpf_test_load_program    test_flow_dissector.c
> /usr/src/tovards/linux/tools/testing/selftests/bpf/test_stub.o
> /usr/src/tovards/linux/tools/testing/selftests/bpf/libbpf.a -lcap -lelf
> -lrt -lpthread -o
> /usr/src/tovards/linux/tools/testing/selftests/bpf/test_flow_dissector
> gcc -g -Wall -O2 -I../../../include/uapi -I../../../lib
> -I../../../lib/bpf -I../../../../include/generated -DHAVE_GENHDR
> -I../../../include -Dbpf_prog_load=bpf_prog_test_load
> -Dbpf_load_program=bpf_test_load_program
> test_tcp_check_syncookie_user.c
> /usr/src/tovards/linux/tools/testing/selftests/bpf/test_stub.o
> /usr/src/tovards/linux/tools/testing/selftests/bpf/libbpf.a -lcap -lelf
> -lrt -lpthread -o
> /usr/src/tovards/linux/tools/testing/selftests/bpf/test_tcp_check_syncookie_user
> gcc -g -Wall -O2 -I../../../include/uapi -I../../../lib
> -I../../../lib/bpf -I../../../../include/generated -DHAVE_GENHDR
> -I../../../include -Dbpf_prog_load=bpf_prog_test_load
> -Dbpf_load_program=bpf_test_load_program    test_lirc_mode2_user.c
> /usr/src/tovards/linux/tools/testing/selftests/bpf/test_stub.o
> /usr/src/tovards/linux/tools/testing/selftests/bpf/libbpf.a -lcap -lelf
> -lrt -lpthread -o
> /usr/src/tovards/linux/tools/testing/selftests/bpf/test_lirc_mode2_user
> (clang -I. -I./include/uapi -I../../../include/uapi
> -I/usr/src/tovards/linux/tools/testing/selftests/bpf/../usr/include
> -D__TARGET_ARCH_arm64 -g -idirafter /usr/local/include -idirafter
> /usr/local/lib/clang/9.0.0/include -idirafter
> /usr/include/aarch64-linux-gnu -idirafter /usr/include
> -Wno-compare-distinct-pointer-types -O2 -target bpf -emit-llvm \
> -c progs/test_core_reloc_arrays.c -o - || echo "clang failed") | \
> llc -march=bpf -mcpu=probe  -filetype=obj -o
> /usr/src/tovards/linux/tools/testing/selftests/bpf/test_core_reloc_arrays.o
> Stack dump:
> 0. Program arguments: llc -march=bpf -mcpu=probe -filetype=obj -o
> /usr/src/tovards/linux/tools/testing/selftests/bpf/test_core_reloc_arrays.o
> 1. Running pass 'Function Pass Manager' on module '<stdin>'.
> 2. Running pass 'BPF Assembly Printer' on function '@test_core_arrays'
> #0 0x0000aaaac618db08 llvm::sys::PrintStackTrace(llvm::raw_ostream&)
> (/usr/local/bin/llc+0x152eb08)
> Segmentation fault
> Makefile:260: recipe for target
> '/usr/src/tovards/linux/tools/testing/selftests/bpf/test_core_reloc_arrays.o'
> failed
> make[1]: ***
> [/usr/src/tovards/linux/tools/testing/selftests/bpf/test_core_reloc_arrays.o]
> Error 139
> 
> To add more details,
> Commenting following lines in bpf/progs/test_core_reloc_arrays.c
> removes the segmentation fault.
> 
> --- a/tools/testing/selftests/bpf/progs/test_core_reloc_arrays.c
> +++ b/tools/testing/selftests/bpf/progs/test_core_reloc_arrays.c
> @@ -41,15 +41,14 @@ int test_core_arrays(void *ctx)
>          if (BPF_CORE_READ(&out->a2, &in->a[2]))
>                  return 1;
>          /* in->b[1][2][3] */
> -       if (BPF_CORE_READ(&out->b123, &in->b[1][2][3]))
> -               return 1;
> +//     if (BPF_CORE_READ(&out->b123, &in->b[1][2][3]))
> +//             return 1;
>          /* in->c[1].c */
>          if (BPF_CORE_READ(&out->c1c, &in->c[1].c))
>                  return 1;
>          /* in->d[0][0].d */
> -       if (BPF_CORE_READ(&out->d00d, &in->d[0][0].d))
> -               return 1;
> -
> +//     if (BPF_CORE_READ(&out->d00d, &in->d[0][0].d))
> +//             return 1;
>          return 0;
>   }
> 
> It looks to be something related llc and more than 1 dimension array.
> has anyone faced such error.
> 
> Please suggest!!
> 
> --prabhakar(pk)
> 
> [1]
> https://urldefense.proofpoint.com/v2/url?u=https-3A__stackoverflow.com_questions_47255526_how-2Dto-2Dbuild-2Dthe-2Dlatest-2Dclang-2Dtidy&d=DwICaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=DA8e1B5r073vIqRrFz7MRA&m=skkgb9pZFIuJRG9JQNUcOnsiNBoYeDxEgrmStbFX4qs&s=TdMHOl9-id7Li_XWFnrTefdK8yPUO1NUYr7u9AJdg1E&e=
> 
> [2] https://urldefense.proofpoint.com/v2/url?u=https-3A__www.mail-2Darchive.com_netdev-40vger.kernel.org_msg315096.html&d=DwICaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=DA8e1B5r073vIqRrFz7MRA&m=skkgb9pZFIuJRG9JQNUcOnsiNBoYeDxEgrmStbFX4qs&s=gYS_CfBlAQG4gD3PxCEg82a5vBF2hpZjvvmXFaKOphY&e=
> 
> 
> Linux top-commit
> ----------------
> commit bc88f85c6c09306bd21917e1ae28205e9cd775a7 (HEAD -> master,
> origin/master, origin/HEAD)
> Author: Ben Dooks <ben.dooks@codethink.co.uk>
> Date:   Wed Oct 16 12:24:58 2019 +0100
> 
>      kthread: make __kthread_queue_delayed_work static
> 
>      The __kthread_queue_delayed_work is not exported so
>      make it static, to avoid the following sparse warning:
> 
>        kernel/kthread.c:869:6: warning: symbol
> '__kthread_queue_delayed_work' was not declared. Should it be static?
> 
>      Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
>      Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
> 

  reply	other threads:[~2019-10-23  2:34 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-23  1:35 Prabhakar Kushwaha
2019-10-23  2:34 ` Yonghong Song [this message]
2019-10-23  3:29   ` Prabhakar Kushwaha
2019-10-23  4:42     ` Yonghong Song
2019-10-23  8:49       ` Prabhakar Kushwaha
2019-10-24 16:04 ` Ilya Leoshkevich
2019-10-24 17:49   ` Yonghong Song
2019-10-24 18:31     ` Ilya Leoshkevich
2019-10-25 21:50       ` Yonghong Song
  -- strict thread matches above, loose matches on Subject: below --
2019-10-22 14:12 Prabhakar Kushwaha
2019-10-20 13:47 Prabhakar Kushwaha
2019-10-21  3:50 ` Prabhakar Kushwaha

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6fddbb7c-50e4-2d1f-6f88-1d97107e816f@fb.com \
    --to=yhs@fb.com \
    --cc=ast@kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=prabhakar.pkin@gmail.com \
    --subject='Re: Linux-5.4: bpf: test_core_reloc_arrays.o: Segmentation fault with llc -march=bpf' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).