Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp990440imm; Wed, 25 Jul 2018 09:32:23 -0700 (PDT) X-Google-Smtp-Source: AAOMgpdKVh6zlmys/dgfSgsP6BPHTSlbeBCESSGjHjnie8G3+sguLJjPE5fW3rZmPEBpsb8kVcs2 X-Received: by 2002:a63:ba10:: with SMTP id k16-v6mr21534860pgf.145.1532536343189; Wed, 25 Jul 2018 09:32:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1532536343; cv=none; d=google.com; s=arc-20160816; b=fsB860/mxBIaMOuTE9nB/OkbDie+rBKi+RzR6GDYVnDbGlCx3wzRxuti2B+b7rTv4G dSYqoNIQI3awt+6TirR0eZnyViwJpOzjgcZCpzAI0o9OaGCS/SakSI5eWkUXhFSvXuBC wmuwsbg9vK72KZsgyvR2HinjTeeomqlQLcaHO1533MdaQ+peXFwleuCwJy66m+6M8LhT /qsYeVugUfNlONLi8US7tpIUjleLjMQbaq3HFrB7powXRFeidJlDrfp/jYR8ddKLWtBO u28w3uFWE6OknlE41S1mcketOl/wvkSiKTjE1xH2WpqJ5KSXxW9+CsD1rW6qVe2ERhB4 7U4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=EcCkkK5jsnvFBGgi1WS8CaoabYsER2v4TZV/naQNXK4=; b=bhpfpYnT9LhPN6X+c9OpKhbBjQK/3Of2QKoiPCFO3zDWKnjj0zK2rQYaiPh69Iptyc 0VO1pfHGpUouone0iZz4MK+b9Jof66M+FemMhr17Lm8gD5Ve55RrkVq4Hjf1zkRXOFmO srnZyEuQvbnAlrIO0ukikomGLD5IQmohaQ8OyVpVB14SrpQuQWVJOyuUp/qESYiv7PtX 50DdLrG7ajFlulpyCPriM3QDtPXavZb/oQtxycMml8h4BbwrAPEYOWNGalmuXhDorlsl lZFGNFTTYWJnmdyQ8p6KbrDJ0pWpiHSOEMQpnMnc7NKev2NvOhHDWlPR7exmcyEmSUt7 kfbg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=S0Pb9XlB; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f34-v6si13653273plf.495.2018.07.25.09.32.08; Wed, 25 Jul 2018 09:32:23 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=S0Pb9XlB; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730062AbeGYRnP (ORCPT + 99 others); Wed, 25 Jul 2018 13:43:15 -0400 Received: from mail-pg1-f193.google.com ([209.85.215.193]:38382 "EHLO mail-pg1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728694AbeGYRnO (ORCPT ); Wed, 25 Jul 2018 13:43:14 -0400 Received: by mail-pg1-f193.google.com with SMTP id k3-v6so5657139pgq.5; Wed, 25 Jul 2018 09:30:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=EcCkkK5jsnvFBGgi1WS8CaoabYsER2v4TZV/naQNXK4=; b=S0Pb9XlByRTtgm406hIySBhJUA6F5gwnSzkKfoIyl1kP0ZqUmmPfbt8mlhVFkas4As iDV+Pacwks5VG9tI+j/qbXEBdaFLUSAwWLxpmKqzo7/jSaswCqQDjcJsspiro3fbzRZM Fsoet+I024LIeGREd0g7vmiIflRi8f29TRsdHOVzQNgr5rjFxciq/lCYK8ZHN2dgKSvV mv5WDzSsrj3lMqzTTIM+rxBAnRSImqvkdxGtw222gP6wliCtfuHIxcz1/U58au9/sg/2 MuENdc94BZSGXAKSbmw4AGs+2y6VbW7oWYVyJYQIsZlqJflFvTPeHQQA7FavWA78WIUx BI5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=EcCkkK5jsnvFBGgi1WS8CaoabYsER2v4TZV/naQNXK4=; b=DbP8nxsMhVb9FJFWrtiIqqbYTIqYqY/6dttzQ8PSSvYNWzN/irqxCWbFxwky7tCoAz /yBJhs7JhYfNd+3CArdP9Pi9A9FvpBfDM3NTgAuvVMx0cFycxC2XYL/RD3Qd8Rh0R6pC vT+7+UvlyGwwbYlb38o8oVghePCM+WMY0CxPtxLl2wSN/UKURkaSo8mUB0LoG+yPz3dV FnzVhQ8bHOqfI4aWhaV0ms4XouNvcdZ9Qa2uPvCvQhvlSvS7VoGF34qSyhFZo76kkVIl zqqcM5DqSz5cTBZA5EQ/j7NUP0zlEXsoL9PnB4w2ZniwVI2KktKpmD1yPH8gjBhxHJL9 ldow== X-Gm-Message-State: AOUpUlG6GnX8WOQNhm03jvKrLbXDPKe5P8YYfPIRUCD2D4h2eX2rUTbX o8abcX2k3iytTGfOWiavUHA= X-Received: by 2002:a63:5463:: with SMTP id e35-v6mr21537049pgm.115.1532536249640; Wed, 25 Jul 2018 09:30:49 -0700 (PDT) Received: from localhost.localdomain ([211.196.191.92]) by smtp.gmail.com with ESMTPSA id 14-v6sm25294764pft.93.2018.07.25.09.30.46 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 25 Jul 2018 09:30:48 -0700 (PDT) From: Taeung Song To: Daniel Borkmann , Alexei Starovoitov Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Martin KaFai Lau Subject: [PATCH] samples/bpf: Add BTF build flags to Makefile Date: Thu, 26 Jul 2018 01:30:39 +0900 Message-Id: <20180725163039.2838-1-treeze.taeung@gmail.com> X-Mailer: git-send-email 2.17.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org To smoothly test BTF supported binary on samples/bpf, let samples/bpf/Makefile probe llc, pahole and llvm-objcopy for BPF support and use them like tools/testing/selftests/bpf/Makefile changed from the commit c0fa1b6c3efc ("bpf: btf: Add BTF tests") Cc: Martin KaFai Lau Signed-off-by: Taeung Song --- samples/bpf/Makefile | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/samples/bpf/Makefile b/samples/bpf/Makefile index 1303af10e54d..e079266360a3 100644 --- a/samples/bpf/Makefile +++ b/samples/bpf/Makefile @@ -191,6 +191,8 @@ HOSTLOADLIBES_xdpsock += -pthread # make samples/bpf/ LLC=~/git/llvm/build/bin/llc CLANG=~/git/llvm/build/bin/clang LLC ?= llc CLANG ?= clang +LLVM_OBJCOPY ?= llvm-objcopy +BTF_PAHOLE ?= pahole # Detect that we're cross compiling and use the cross compiler ifdef CROSS_COMPILE @@ -198,6 +200,20 @@ HOSTCC = $(CROSS_COMPILE)gcc CLANG_ARCH_ARGS = -target $(ARCH) endif +BTF_LLC_PROBE := $(shell $(LLC) -march=bpf -mattr=help 2>&1 | grep dwarfris) +BTF_PAHOLE_PROBE := $(shell $(BTF_PAHOLE) --help 2>&1 | grep BTF) +BTF_OBJCOPY_PROBE := $(shell $(LLVM_OBJCOPY) --help 2>&1 | grep -i 'usage.*llvm') + +ifneq ($(BTF_LLC_PROBE),) +ifneq ($(BTF_PAHOLE_PROBE),) +ifneq ($(BTF_OBJCOPY_PROBE),) + EXTRA_CFLAGS += -g + LLC_FLAGS += -mattr=dwarfris + DWARF2BTF = y +endif +endif +endif + # Trick to allow make to be run from this directory all: $(MAKE) -C ../../ $(CURDIR)/ BPF_SAMPLES_PATH=$(CURDIR) @@ -256,4 +272,7 @@ $(obj)/%.o: $(src)/%.c -Wno-gnu-variable-sized-type-not-at-end \ -Wno-address-of-packed-member -Wno-tautological-compare \ -Wno-unknown-warning-option $(CLANG_ARCH_ARGS) \ - -O2 -emit-llvm -c $< -o -| $(LLC) -march=bpf -filetype=obj -o $@ + -O2 -emit-llvm -c $< -o -| $(LLC) -march=bpf $(LLC_FLAGS) -filetype=obj -o $@ +ifeq ($(DWARF2BTF),y) + $(BTF_PAHOLE) -J $@ +endif -- 2.17.1