From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jesper Dangaard Brouer Subject: [bpf-next V3 PATCH 0/5] tools/libbpf improvements and selftests Date: Thu, 08 Feb 2018 12:48:06 +0100 Message-ID: <151809046123.4625.11746882480100311060.stgit@firesoul> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Cc: jakub.kicinski@netronome.com, joe@ovn.org, acme@redhat.com, eric@regit.org, Jesper Dangaard Brouer , yhs@fb.com To: netdev@vger.kernel.org, Daniel Borkmann , Alexei Starovoitov , wangnan0@huawei.com Return-path: Received: from mx3-rdu2.redhat.com ([66.187.233.73]:52036 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752021AbeBHLsL (ORCPT ); Thu, 8 Feb 2018 06:48:11 -0500 Sender: netdev-owner@vger.kernel.org List-ID: 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