From patchwork Tue Sep 29 10:26:14 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Qais Yousef X-Patchwork-Id: 1373267 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=busybox.net (client-ip=140.211.166.137; helo=fraxinus.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=arm.com Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4C0wY15n18z9sPB for ; Tue, 29 Sep 2020 20:26:43 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 9A23985F4E; Tue, 29 Sep 2020 10:26:40 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id EOvBmKbecHTo; Tue, 29 Sep 2020 10:26:38 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by fraxinus.osuosl.org (Postfix) with ESMTP id 9B99F85F41; Tue, 29 Sep 2020 10:26:38 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id A23771BF232 for ; Tue, 29 Sep 2020 10:26:37 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 9D57286785 for ; Tue, 29 Sep 2020 10:26:37 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PbUKHgKnRHF3 for ; Tue, 29 Sep 2020 10:26:36 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by whitealder.osuosl.org (Postfix) with ESMTP id 915658674E for ; Tue, 29 Sep 2020 10:26:36 +0000 (UTC) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 97C9331B; Tue, 29 Sep 2020 03:26:35 -0700 (PDT) Received: from e107158-lin.cambridge.arm.com (e107158-lin.cambridge.arm.com [10.1.195.21]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id CCD213F6CF; Tue, 29 Sep 2020 03:26:34 -0700 (PDT) From: Qais Yousef To: buildroot@buildroot.org Date: Tue, 29 Sep 2020 11:26:14 +0100 Message-Id: <20200929102618.28571-1-qais.yousef@arm.com> X-Mailer: git-send-email 2.17.1 Subject: [Buildroot] [RFC PATCH 0/4] add BCC and bpftrace packages X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Joseph Kogut , Romain Naour , Qais Yousef , Valentin Korenblit MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" *** RESEND AFTER SUBSCRIBING TO THE LIST *** The following series adds 2 new packages: * BPF Compiler Collection (BCC) * bpftrace It is based on 2020.08 tag. Can rebase on tip of master after this initial RFC review. The support was validated on x86_64 and aarch64 (little endian). Hence restricted to these 2 archs only. aarch64 big endian is set as valid, but when I tried to compile that I think LLVM or clang support for aarch64_be + BPF was generating some errors; or something else was missing. So it might be a better idea to remove BR2_aarch64_be from Config.in dependency. I tried to enable i386 and arm (aarch32); but I encountered some issues and decided to narrow the initial support to what I got working in hope that other archs support can follow through later if people are interested. IIRC the issues were: * bpftrace doesn't support these 2 archs. * BCC had some build failures on arm. * BCC had runtime issues on i386. Marking this as RFC as it is something that was done over several weekends and my last contribution to buildroot was many many years ago. So I am sure there are many rough edges to tackle. Beside from my vague description above, you might have gotten the hint it's been a while since I last touched it. But I'd like to get the support merged, so hopefully starting a discussion with what I have now is a better start. Qais Yousef (4): llvm: Add BPF backend Add BPF Compiler Collection (BCC) Package Add bpftrace package clang: Fix undefined reference to dladdr error package/Config.in | 2 ++ package/bcc/0001-fix-dlinfo.patch | 17 ++++++++++ .../0002-fix-undefined-gzgets-runtime.patch | 15 ++++++++ .../0003-fix-loading-libc-python-perf.patch | 17 ++++++++++ .../0004-fix-loading-librt-python-init.patch | 17 ++++++++++ .../0005-fix-python-installation-path.patch | 15 ++++++++ package/bcc/Config.in | 34 +++++++++++++++++++ package/bcc/bcc.mk | 25 ++++++++++++++ .../0001-fix-no-sys-auxv-header.patch | 22 ++++++++++++ ...02-fix-missing-def-ADDR_NO_RANDOMIZE.patch | 13 +++++++ package/bpftrace/0003-install-libparser.patch | 12 +++++++ .../bpftrace/0004-install-libresources.patch | 12 +++++++ package/bpftrace/0005-install-libarch.patch | 10 ++++++ package/bpftrace/0006-install-libast.patch | 11 ++++++ package/bpftrace/Config.in | 27 +++++++++++++++ package/bpftrace/bpftrace.mk | 17 ++++++++++ ...01-fix-undefined-reference-to-dladdr.patch | 13 +++++++ package/llvm/Config.in | 6 ++++ package/llvm/llvm.mk | 5 +++ 19 files changed, 290 insertions(+) create mode 100644 package/bcc/0001-fix-dlinfo.patch create mode 100644 package/bcc/0002-fix-undefined-gzgets-runtime.patch create mode 100644 package/bcc/0003-fix-loading-libc-python-perf.patch create mode 100644 package/bcc/0004-fix-loading-librt-python-init.patch create mode 100644 package/bcc/0005-fix-python-installation-path.patch create mode 100644 package/bcc/Config.in create mode 100644 package/bcc/bcc.mk create mode 100644 package/bpftrace/0001-fix-no-sys-auxv-header.patch create mode 100644 package/bpftrace/0002-fix-missing-def-ADDR_NO_RANDOMIZE.patch create mode 100644 package/bpftrace/0003-install-libparser.patch create mode 100644 package/bpftrace/0004-install-libresources.patch create mode 100644 package/bpftrace/0005-install-libarch.patch create mode 100644 package/bpftrace/0006-install-libast.patch create mode 100644 package/bpftrace/Config.in create mode 100644 package/bpftrace/bpftrace.mk create mode 100644 package/clang/0001-fix-undefined-reference-to-dladdr.patch