From: Jesper Dangaard Brouer <brouer@redhat.com>
To: netdev@vger.kernel.org, Daniel Borkmann <borkmann@iogearbox.net>,
Alexei Starovoitov <alexei.starovoitov@gmail.com>,
wangnan0@huawei.com
Cc: jakub.kicinski@netronome.com, joe@ovn.org, acme@redhat.com,
eric@regit.org, Jesper Dangaard Brouer <brouer@redhat.com>,
yhs@fb.com
Subject: [bpf-next V3 PATCH 0/5] tools/libbpf improvements and selftests
Date: Thu, 08 Feb 2018 12:48:06 +0100 [thread overview]
Message-ID: <151809046123.4625.11746882480100311060.stgit@firesoul> (raw)
While playing with using libbpf for the Suricata project, we had
issues LLVM >= 4.0.1 generating ELF files that could not be loaded
with libbpf (tools/lib/bpf/).
During the troubleshooting phase, I wrote a test program and improved
the debugging output in libbpf. I turned this into a selftests
program, and it also serves as a code example for libbpf in itself.
I discovered that there are at least three ELF load issues with
libbpf. I left them as TODO comments in (tools/testing/selftests/bpf)
test_libbpf.sh. I've only fixed the load issue with eh_frames, and
other types of relo-section that does not have exec flags. We can
work on the other issues later.
---
Jesper Dangaard Brouer (5):
bpf: Sync kernel ABI header with tooling header for bpf_common.h
tools/libbpf: improve the pr_debug statements to contain section numbers
selftests/bpf: add test program for loading BPF ELF files
selftests/bpf: add selftest that use test_libbpf_open
tools/libbpf: handle issues with bpf ELF objects containing .eh_frames
tools/include/uapi/linux/bpf_common.h | 7 +
tools/lib/bpf/libbpf.c | 51 ++++++--
tools/testing/selftests/bpf/Makefile | 12 ++
tools/testing/selftests/bpf/test_libbpf.sh | 49 ++++++++
tools/testing/selftests/bpf/test_libbpf_open.c | 150 ++++++++++++++++++++++++
5 files changed, 253 insertions(+), 16 deletions(-)
create mode 100755 tools/testing/selftests/bpf/test_libbpf.sh
create mode 100644 tools/testing/selftests/bpf/test_libbpf_open.c
next reply other threads:[~2018-02-08 11:48 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-08 11:48 Jesper Dangaard Brouer [this message]
2018-02-08 11:48 ` [bpf-next V3 PATCH 1/5] bpf: Sync kernel ABI header with tooling header for bpf_common.h Jesper Dangaard Brouer
2018-02-08 14:17 ` Arnaldo Carvalho de Melo
2018-02-08 11:48 ` [bpf-next V3 PATCH 2/5] tools/libbpf: improve the pr_debug statements to contain section numbers Jesper Dangaard Brouer
2018-02-08 11:48 ` [bpf-next V3 PATCH 3/5] selftests/bpf: add test program for loading BPF ELF files Jesper Dangaard Brouer
2018-02-08 11:48 ` [bpf-next V3 PATCH 4/5] selftests/bpf: add selftest that use test_libbpf_open Jesper Dangaard Brouer
2018-02-08 11:48 ` [bpf-next V3 PATCH 5/5] tools/libbpf: handle issues with bpf ELF objects containing .eh_frames Jesper Dangaard Brouer
2018-02-09 1:32 ` [bpf-next V3 PATCH 0/5] tools/libbpf improvements and selftests Daniel Borkmann
2018-02-09 8:18 ` Jesper Dangaard Brouer
2018-02-09 11:50 ` Daniel Borkmann
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=151809046123.4625.11746882480100311060.stgit@firesoul \
--to=brouer@redhat.com \
--cc=acme@redhat.com \
--cc=alexei.starovoitov@gmail.com \
--cc=borkmann@iogearbox.net \
--cc=eric@regit.org \
--cc=jakub.kicinski@netronome.com \
--cc=joe@ovn.org \
--cc=netdev@vger.kernel.org \
--cc=wangnan0@huawei.com \
--cc=yhs@fb.com \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox