From patchwork Thu Aug 27 15:36:25 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jean-Philippe Brucker X-Patchwork-Id: 1352666 X-Patchwork-Delegate: bpf@iogearbox.net Return-Path: X-Original-To: incoming-bpf@patchwork.ozlabs.org Delivered-To: patchwork-incoming-bpf@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=bpf-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=Rj9btxGK; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4Bcn1d4Ntnz9sSP for ; Fri, 28 Aug 2020 01:38:13 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727108AbgH0PiJ (ORCPT ); Thu, 27 Aug 2020 11:38:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40610 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727099AbgH0PiI (ORCPT ); Thu, 27 Aug 2020 11:38:08 -0400 Received: from mail-ej1-x643.google.com (mail-ej1-x643.google.com [IPv6:2a00:1450:4864:20::643]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A9625C061232 for ; Thu, 27 Aug 2020 08:38:07 -0700 (PDT) Received: by mail-ej1-x643.google.com with SMTP id o18so8251896eje.7 for ; Thu, 27 Aug 2020 08:38:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=UFxVwUfpG0o5V6jeiag7wunJy3oc0V523MxaV/EfYOE=; b=Rj9btxGKFSBBPU2CIN2lx7OyG9Tdl8pOH+jm5tgq1Lclt3kaXTWDDOYV7u8wwG//Ii rMvSFIljHCUicLonsC4NhUez3RRAgjjqfYY2e5jApfbBKhmC09LeSkqxYSUUV5zqgZN8 xywT38iEaCdwuNNWkxE5E1qh2A73wONit/WVOP1v2MwP/K/N57F0TVhxyc/RwlUwffQc u2u3qBWddHDwZR0w1tzqx3aUajUp0nyl9OuVUi6fGYRN6XR4rJXsStLnb+I2hGLodiYt kYAz2dT1hiSAw0ruT1kb0aQBfydhP/Xf5aPav8lsJ8Jz1ks5NCUkK8XUmP/grrrEjsB1 28TQ== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=UFxVwUfpG0o5V6jeiag7wunJy3oc0V523MxaV/EfYOE=; b=mN65byVz2EvjMOqtUbxFrAjhqKtectRdRVm7WTWI2R354DoE757yJ3Wqe7N0hP7FXZ Wxq2gQ/CmRMrszFgEQQ3rMGIqqNxrmmUhHox3uVVcK5Lm7XVQ59FgRcDZSDoqFNNoufm 3HHGFYb2yzzi/YePaQgxq9pEC81DeT+4R20hfyW9NMfLXl6zxsAhMz2rE/5VpIjhANPF TpdCSFgLhU/W3I8xn3Gk81I2uvquqhydpVkrqTm4VZfVH0K1VWPTNlVywhzPg7VwcI36 GGnpDVSnuZ6zwoUeSivIdrVTHSs8caeTrMzC9HTTWpgrwdWNYQd9iCC9VzH+1Ef7Tvwy Z81A== X-Gm-Message-State: AOAM530hjKqmtCRL9Oqs8wSVopw4+xw/0o8wRMVF+y8p4xUjeJ1fXoKo Xxpmx4SyIDc1aN6F9q56QgSG0g== X-Google-Smtp-Source: ABdhPJwbwjM3xQlm1zDhqVxSdglPW9h9226wfJ4MdZid73oHm7PKBm6ZJ9d0YXH7dByEvZNvCLQVFw== X-Received: by 2002:a17:906:a89a:: with SMTP id ha26mr18614188ejb.391.1598542686220; Thu, 27 Aug 2020 08:38:06 -0700 (PDT) Received: from localhost.localdomain ([2001:1715:4e26:a7e0:116c:c27a:3e7f:5eaf]) by smtp.gmail.com with ESMTPSA id i25sm1765616edt.1.2020.08.27.08.38.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Aug 2020 08:38:05 -0700 (PDT) From: Jean-Philippe Brucker To: ast@kernel.org, daniel@iogearbox.net Cc: bpf@vger.kernel.org, kafai@fb.com, songliubraving@fb.com, yhs@fb.com, andriin@fb.com, john.fastabend@gmail.com, kpsingh@chromium.org, Jean-Philippe Brucker , Josh Poimboeuf , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Robert Moore , Erik Kaneda , "Rafael J. Wysocki" , Len Brown , linux-acpi@vger.kernel.org, devel@acpica.org Subject: [PATCH bpf-next 1/6] tools: Factor HOSTCC, HOSTLD, HOSTAR definitions Date: Thu, 27 Aug 2020 17:36:25 +0200 Message-Id: <20200827153629.3820891-2-jean-philippe@linaro.org> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200827153629.3820891-1-jean-philippe@linaro.org> References: <20200827153629.3820891-1-jean-philippe@linaro.org> MIME-Version: 1.0 Sender: bpf-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: bpf@vger.kernel.org Several Makefiles in tools/ need to define the host toolchain variables. Move their definition to tools/scripts/Makefile.include Signed-off-by: Jean-Philippe Brucker Acked-by: Rafael J. Wysocki Acked-by: Jiri Olsa --- Cc: Josh Poimboeuf Cc: Peter Zijlstra Cc: Ingo Molnar Cc: Arnaldo Carvalho de Melo Cc: Mark Rutland Cc: Alexander Shishkin Cc: Jiri Olsa Cc: Namhyung Kim Cc: Robert Moore Cc: Erik Kaneda Cc: "Rafael J. Wysocki" Cc: Len Brown Cc: linux-acpi@vger.kernel.org Cc: devel@acpica.org --- tools/bpf/resolve_btfids/Makefile | 9 --------- tools/build/Makefile | 4 ---- tools/objtool/Makefile | 9 --------- tools/perf/Makefile.perf | 4 ---- tools/power/acpi/Makefile.config | 1 - tools/scripts/Makefile.include | 10 ++++++++++ 6 files changed, 10 insertions(+), 27 deletions(-) diff --git a/tools/bpf/resolve_btfids/Makefile b/tools/bpf/resolve_btfids/Makefile index a88cd4426398..b06935578a96 100644 --- a/tools/bpf/resolve_btfids/Makefile +++ b/tools/bpf/resolve_btfids/Makefile @@ -17,15 +17,6 @@ else endif # always use the host compiler -ifneq ($(LLVM),) -HOSTAR ?= llvm-ar -HOSTCC ?= clang -HOSTLD ?= ld.lld -else -HOSTAR ?= ar -HOSTCC ?= gcc -HOSTLD ?= ld -endif AR = $(HOSTAR) CC = $(HOSTCC) LD = $(HOSTLD) diff --git a/tools/build/Makefile b/tools/build/Makefile index 727050c40f09..8a55378e8b7c 100644 --- a/tools/build/Makefile +++ b/tools/build/Makefile @@ -15,10 +15,6 @@ endef $(call allow-override,CC,$(CROSS_COMPILE)gcc) $(call allow-override,LD,$(CROSS_COMPILE)ld) -HOSTCC ?= gcc -HOSTLD ?= ld -HOSTAR ?= ar - export HOSTCC HOSTLD HOSTAR ifeq ($(V),1) diff --git a/tools/objtool/Makefile b/tools/objtool/Makefile index 7770edcda3a0..b7cb4f26ccde 100644 --- a/tools/objtool/Makefile +++ b/tools/objtool/Makefile @@ -3,15 +3,6 @@ include ../scripts/Makefile.include include ../scripts/Makefile.arch # always use the host compiler -ifneq ($(LLVM),) -HOSTAR ?= llvm-ar -HOSTCC ?= clang -HOSTLD ?= ld.lld -else -HOSTAR ?= ar -HOSTCC ?= gcc -HOSTLD ?= ld -endif AR = $(HOSTAR) CC = $(HOSTCC) LD = $(HOSTLD) diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf index 6031167939ae..43e90334a54e 100644 --- a/tools/perf/Makefile.perf +++ b/tools/perf/Makefile.perf @@ -175,10 +175,6 @@ endef LD += $(EXTRA_LDFLAGS) -HOSTCC ?= gcc -HOSTLD ?= ld -HOSTAR ?= ar - PKG_CONFIG = $(CROSS_COMPILE)pkg-config LLVM_CONFIG ?= llvm-config diff --git a/tools/power/acpi/Makefile.config b/tools/power/acpi/Makefile.config index 54a2857c2510..331f6d30f472 100644 --- a/tools/power/acpi/Makefile.config +++ b/tools/power/acpi/Makefile.config @@ -54,7 +54,6 @@ INSTALL_SCRIPT = ${INSTALL_PROGRAM} CROSS = #/usr/i386-linux-uclibc/usr/bin/i386-uclibc- CROSS_COMPILE ?= $(CROSS) LD = $(CC) -HOSTCC = gcc # check if compiler option is supported cc-supports = ${shell if $(CC) ${1} -S -o /dev/null -x c /dev/null > /dev/null 2>&1; then echo "$(1)"; fi;} diff --git a/tools/scripts/Makefile.include b/tools/scripts/Makefile.include index a7974638561c..1358e89cdf7d 100644 --- a/tools/scripts/Makefile.include +++ b/tools/scripts/Makefile.include @@ -59,6 +59,16 @@ $(call allow-override,LD,$(CROSS_COMPILE)ld) $(call allow-override,CXX,$(CROSS_COMPILE)g++) $(call allow-override,STRIP,$(CROSS_COMPILE)strip) +ifneq ($(LLVM),) +HOSTAR ?= llvm-ar +HOSTCC ?= clang +HOSTLD ?= ld.lld +else +HOSTAR ?= ar +HOSTCC ?= gcc +HOSTLD ?= ld +endif + ifeq ($(CC_NO_CLANG), 1) EXTRA_WARNINGS += -Wstrict-aliasing=3 endif From patchwork Thu Aug 27 15:36:26 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jean-Philippe Brucker X-Patchwork-Id: 1352668 X-Patchwork-Delegate: bpf@iogearbox.net Return-Path: X-Original-To: incoming-bpf@patchwork.ozlabs.org Delivered-To: patchwork-incoming-bpf@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=bpf-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=mf8sXzw2; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4Bcn1f39bZz9sTS for ; Fri, 28 Aug 2020 01:38:14 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726344AbgH0PiK (ORCPT ); Thu, 27 Aug 2020 11:38:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40618 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726009AbgH0PiJ (ORCPT ); Thu, 27 Aug 2020 11:38:09 -0400 Received: from mail-ed1-x541.google.com (mail-ed1-x541.google.com [IPv6:2a00:1450:4864:20::541]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A306AC061264 for ; Thu, 27 Aug 2020 08:38:08 -0700 (PDT) Received: by mail-ed1-x541.google.com with SMTP id w14so5326847eds.0 for ; Thu, 27 Aug 2020 08:38:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Fd36SoaukC0l5zGafVzd+T8lzqSHsp7n1jfsvEATI9g=; b=mf8sXzw22RrfIN756eOzI/6RRyLndk6lUtoR2ko4hec0xIANX7CsZvZurbvtR71pdi JDTZfe5QrHg+5xUAF+tdUJA/TW2xQnjlzRDdt+oVWFDWOrfOsnAHy3HlzEkwATTHsYIK JAriLXOz/MNhQ8TSotMEDK0pIJwDb6zjRjWSm49sOKp7rn71sYXwZQ+Zn4kXJcbPczYQ 3YP2DU1NpOHbdHkiKa4fRFVsfv43voWTxOYmDDCDBllDcV+bBzM3yVi+45zplzogJDoo Efangsb6gM7fIuUsumkyvsCb7TdypiKuOHw3HDvl0/HmuasRUgVhq/62rW0FyaBfYUj3 GjNA== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=Fd36SoaukC0l5zGafVzd+T8lzqSHsp7n1jfsvEATI9g=; b=rbxh8SiW33in9bUBVwcBLqddmvYPn+I/3wwxoI+nIVJwV1ip0du7N+i+KLYx85NSon Q+wm+PWZVMRyxiX7VCL9u5h+jeBZqzT59iYSAWUMRQzFvZBhlvUlga1VyIsVgXsF+nSr VRBTCAyJKeUkOyjznan17r18XSOM4SSYpdtSkYzxaDUmjORN1d4yZI7cwjiZplreT8C/ i+eou5YR3dZPqOs/DpHhQi9u5S74pJT4UDm04eGkIzZvV3pejrWbcz3bHu8PD6hYeFZM tkerEPJlHreJJVtFzafmnKks3rbPGnejNlQqowJOsb0+Tu/wk3KagP7QuV84zu8VS9l7 W1Hw== X-Gm-Message-State: AOAM531uXU7Cp5z4r5HHiWPb6OakXIZ4PigZFO+jyto0Ge4YMO7TsBsc rJBD717xFsCMUZuhl1bFOceQ1A== X-Google-Smtp-Source: ABdhPJzl8CqOV0PbM6k8YgOBCA2+Jn2A9fiYKtTMHMWgVbT55SkxOT5S/0HtSQSsROR9ExllTper/Q== X-Received: by 2002:aa7:d9cd:: with SMTP id v13mr12295297eds.150.1598542687335; Thu, 27 Aug 2020 08:38:07 -0700 (PDT) Received: from localhost.localdomain ([2001:1715:4e26:a7e0:116c:c27a:3e7f:5eaf]) by smtp.gmail.com with ESMTPSA id i25sm1765616edt.1.2020.08.27.08.38.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Aug 2020 08:38:06 -0700 (PDT) From: Jean-Philippe Brucker To: ast@kernel.org, daniel@iogearbox.net Cc: bpf@vger.kernel.org, kafai@fb.com, songliubraving@fb.com, yhs@fb.com, andriin@fb.com, john.fastabend@gmail.com, kpsingh@chromium.org, Jean-Philippe Brucker Subject: [PATCH bpf-next 2/6] tools/bpftool: Force clean of out-of-tree build Date: Thu, 27 Aug 2020 17:36:26 +0200 Message-Id: <20200827153629.3820891-3-jean-philippe@linaro.org> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200827153629.3820891-1-jean-philippe@linaro.org> References: <20200827153629.3820891-1-jean-philippe@linaro.org> MIME-Version: 1.0 Sender: bpf-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: bpf@vger.kernel.org Cleaning a partial build can fail if the output directory for libbpf wasn't created: $ make -C tools/bpf/bpftool O=/tmp/bpf clean /bin/sh: line 0: cd: /tmp/bpf/libbpf/: No such file or directory tools/scripts/Makefile.include:17: *** output directory "/tmp/bpf/libbpf/" does not exist. Stop. make: *** [Makefile:36: /tmp/bpf/libbpf/libbpf.a-clean] Error 2 As a result make never gets around to clearing the leftover objects. Add the libbpf output directory as clean dependency to ensure clean always succeeds (similarly to the "descend" macro). The directory is later removed by the clean recipe. Signed-off-by: Jean-Philippe Brucker --- tools/bpf/bpftool/Makefile | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tools/bpf/bpftool/Makefile b/tools/bpf/bpftool/Makefile index 8462690a039b..26a0006f329d 100644 --- a/tools/bpf/bpftool/Makefile +++ b/tools/bpf/bpftool/Makefile @@ -27,11 +27,13 @@ LIBBPF = $(LIBBPF_PATH)libbpf.a BPFTOOL_VERSION := $(shell make -rR --no-print-directory -sC ../../.. kernelversion) -$(LIBBPF): FORCE - $(if $(LIBBPF_OUTPUT),@mkdir -p $(LIBBPF_OUTPUT)) +$(LIBBPF_OUTPUT): + $(QUIET_MKDIR)mkdir -p $@ + +$(LIBBPF): FORCE | $(LIBBPF_OUTPUT) $(Q)$(MAKE) -C $(BPF_DIR) OUTPUT=$(LIBBPF_OUTPUT) $(LIBBPF_OUTPUT)libbpf.a -$(LIBBPF)-clean: +$(LIBBPF)-clean: $(LIBBPF_OUTPUT) $(call QUIET_CLEAN, libbpf) $(Q)$(MAKE) -C $(BPF_DIR) OUTPUT=$(LIBBPF_OUTPUT) clean >/dev/null From patchwork Thu Aug 27 15:36:27 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jean-Philippe Brucker X-Patchwork-Id: 1352669 X-Patchwork-Delegate: bpf@iogearbox.net Return-Path: X-Original-To: incoming-bpf@patchwork.ozlabs.org Delivered-To: patchwork-incoming-bpf@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=bpf-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=udLJOSUb; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4Bcn1g3fx1z9sSJ for ; Fri, 28 Aug 2020 01:38:15 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726938AbgH0PiM (ORCPT ); Thu, 27 Aug 2020 11:38:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40624 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727099AbgH0PiK (ORCPT ); Thu, 27 Aug 2020 11:38:10 -0400 Received: from mail-ej1-x644.google.com (mail-ej1-x644.google.com [IPv6:2a00:1450:4864:20::644]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BC66FC061264 for ; Thu, 27 Aug 2020 08:38:09 -0700 (PDT) Received: by mail-ej1-x644.google.com with SMTP id a21so8292885ejp.0 for ; Thu, 27 Aug 2020 08:38:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=BgezLxNLD39j7OqPZk7tsI5umtS3vpaKa0Ky+SbavLg=; b=udLJOSUbiqa0OlKm1uFZhw/KRHP+llMVqKJIOEwvuF1DdwEbzQbMqG2Huh+Q99d95Y qOyRw/L9YEzZxqp1pU5AMKjxEHc86jWCD1O8Sl8cd7ALiX8135VeXG8AZDTgHM2NKFLT oMU6fJNUaMF3k/tbKBqiv/M/Y39izTvo0Wc1mpAQiFy+mn1gXOh+ekYmnOiKQ+7GvCV2 Xr79U8fJV1rGf5eacQu4Q1LINWRv+xzM+2Xwv9ORV/UWxzK0TgcIl+ojGOyLEDPN/eHs uTB5wSmbTxgiGjFLImcuomPc9CPi+TpDZl9UINptIJrxQp7UARn6dC5RYoFkBCCbzRK/ kzQA== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=BgezLxNLD39j7OqPZk7tsI5umtS3vpaKa0Ky+SbavLg=; b=OfYYCBZqU5/g4h3ttOhlo8LKSS0WromnSMf6Oov55Occu/34iko53F2t8DnO4G0MaF dLG8hI82PvZLlBj2v90pYlPZDF/rmnULGudVfCcoWRnS21p7KtjLJryQ07nraK4pQ3Bq LMHdtwdY2+fnbKkCe6MRqWsyPX0zXDUvxDsFRl3lgaGpybPRLOqLsaWocPQ1LVocE7OA t4GeU6mfwpBmHtLVBdoZ74/bsh+9hABDVw49+C23Ovno0OOu9JAU51SS1hxgSB2OHNfc 9cV/whnk2qsZpHDtsmMULIb4UkQRQaWQrZXuuKhd7FhhdyZPugBb1xgO6VFc7NK9b9oM KUXg== X-Gm-Message-State: AOAM530fhoSxz0MpuDAUYCaTIRp/Iz7zT5UtIE5RRdTqqrqKAvaAiLyH BpOBp3VOA2cJK/9VF619/iqvOw== X-Google-Smtp-Source: ABdhPJwPnAu6GxEtbvkmBsYYlq37s7S/b+SLfP/dnWOFbAPo+CfGLMLoumhTbTjwqhD7uD2j9lvR6w== X-Received: by 2002:a17:906:f8ce:: with SMTP id lh14mr13610883ejb.89.1598542688455; Thu, 27 Aug 2020 08:38:08 -0700 (PDT) Received: from localhost.localdomain ([2001:1715:4e26:a7e0:116c:c27a:3e7f:5eaf]) by smtp.gmail.com with ESMTPSA id i25sm1765616edt.1.2020.08.27.08.38.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Aug 2020 08:38:07 -0700 (PDT) From: Jean-Philippe Brucker To: ast@kernel.org, daniel@iogearbox.net Cc: bpf@vger.kernel.org, kafai@fb.com, songliubraving@fb.com, yhs@fb.com, andriin@fb.com, john.fastabend@gmail.com, kpsingh@chromium.org, Jean-Philippe Brucker Subject: [PATCH bpf-next 3/6] tools/bpftool: Fix cross-build Date: Thu, 27 Aug 2020 17:36:27 +0200 Message-Id: <20200827153629.3820891-4-jean-philippe@linaro.org> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200827153629.3820891-1-jean-philippe@linaro.org> References: <20200827153629.3820891-1-jean-philippe@linaro.org> MIME-Version: 1.0 Sender: bpf-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: bpf@vger.kernel.org The bpftool build first creates an intermediate binary, executed on the host, to generate skeletons required by the final build. When cross-building bpftool for an architecture different from the host, the intermediate binary should be built using the host compiler (gcc) and the final bpftool using the cross compiler (e.g. aarch64-linux-gnu-gcc). Generate the intermediate objects into the bootstrap/ directory using the host toolchain. Signed-off-by: Jean-Philippe Brucker --- tools/bpf/bpftool/Makefile | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/tools/bpf/bpftool/Makefile b/tools/bpf/bpftool/Makefile index 26a0006f329d..383489b5173a 100644 --- a/tools/bpf/bpftool/Makefile +++ b/tools/bpf/bpftool/Makefile @@ -19,24 +19,36 @@ BPF_DIR = $(srctree)/tools/lib/bpf/ ifneq ($(OUTPUT),) LIBBPF_OUTPUT = $(OUTPUT)/libbpf/ LIBBPF_PATH = $(LIBBPF_OUTPUT) + BOOTSTRAP_OUTPUT = $(OUTPUT)/bootstrap/ else LIBBPF_PATH = $(BPF_DIR) + BOOTSTRAP_OUTPUT = $(CURDIR)/bootstrap/ endif LIBBPF = $(LIBBPF_PATH)libbpf.a +LIBBPF_BOOTSTRAP_OUTPUT = $(BOOTSTRAP_OUTPUT)libbpf/ +LIBBPF_BOOTSTRAP = $(LIBBPF_BOOTSTRAP_OUTPUT)libbpf.a BPFTOOL_VERSION := $(shell make -rR --no-print-directory -sC ../../.. kernelversion) -$(LIBBPF_OUTPUT): +$(LIBBPF_OUTPUT) $(BOOTSTRAP_OUTPUT) $(LIBBPF_BOOTSTRAP_OUTPUT): $(QUIET_MKDIR)mkdir -p $@ $(LIBBPF): FORCE | $(LIBBPF_OUTPUT) $(Q)$(MAKE) -C $(BPF_DIR) OUTPUT=$(LIBBPF_OUTPUT) $(LIBBPF_OUTPUT)libbpf.a +$(LIBBPF_BOOTSTRAP): FORCE | $(LIBBPF_BOOTSTRAP_OUTPUT) + $(Q)$(MAKE) -C $(BPF_DIR) OUTPUT=$(LIBBPF_BOOTSTRAP_OUTPUT) \ + ARCH= CC=$(HOSTCC) LD=$(HOSTLD) $@ + $(LIBBPF)-clean: $(LIBBPF_OUTPUT) $(call QUIET_CLEAN, libbpf) $(Q)$(MAKE) -C $(BPF_DIR) OUTPUT=$(LIBBPF_OUTPUT) clean >/dev/null +$(LIBBPF_BOOTSTRAP)-clean: $(LIBBPF_BOOTSTRAP_OUTPUT) + $(call QUIET_CLEAN, libbpf-bootstrap) + $(Q)$(MAKE) -C $(BPF_DIR) OUTPUT=$(LIBBPF_BOOTSTRAP_OUTPUT) clean >/dev/null + prefix ?= /usr/local bash_compdir ?= /usr/share/bash-completion/completions @@ -94,6 +106,7 @@ CFLAGS += -DCOMPAT_NEED_REALLOCARRAY endif LIBS = $(LIBBPF) -lelf -lz +LIBS_BOOTSTRAP = $(LIBBPF_BOOTSTRAP) -lelf -lz ifeq ($(feature-libcap), 1) CFLAGS += -DUSE_LIBCAP LIBS += -lcap @@ -120,9 +133,9 @@ CFLAGS += -DHAVE_LIBBFD_SUPPORT SRCS += $(BFD_SRCS) endif -BPFTOOL_BOOTSTRAP := $(if $(OUTPUT),$(OUTPUT)bpftool-bootstrap,./bpftool-bootstrap) +BPFTOOL_BOOTSTRAP := $(BOOTSTRAP_OUTPUT)bpftool -BOOTSTRAP_OBJS = $(addprefix $(OUTPUT),main.o common.o json_writer.o gen.o btf.o) +BOOTSTRAP_OBJS = $(addprefix $(BOOTSTRAP_OUTPUT),main.o common.o json_writer.o gen.o btf.o) OBJS = $(patsubst %.c,$(OUTPUT)%.o,$(SRCS)) $(OUTPUT)disasm.o VMLINUX_BTF_PATHS ?= $(if $(O),$(O)/vmlinux) \ @@ -169,20 +182,25 @@ $(OUTPUT)disasm.o: $(srctree)/kernel/bpf/disasm.c $(OUTPUT)feature.o: | zdep -$(BPFTOOL_BOOTSTRAP): $(BOOTSTRAP_OBJS) $(LIBBPF) - $(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(BOOTSTRAP_OBJS) $(LIBS) +$(BPFTOOL_BOOTSTRAP): $(BOOTSTRAP_OBJS) $(LIBBPF_BOOTSTRAP) + $(QUIET_LINK)$(HOSTCC) $(CFLAGS) $(LDFLAGS) -o $@ $(BOOTSTRAP_OBJS) \ + $(LIBS_BOOTSTRAP) $(OUTPUT)bpftool: $(OBJS) $(LIBBPF) $(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) +$(BOOTSTRAP_OUTPUT)%.o: %.c | $(BOOTSTRAP_OUTPUT) + $(QUIET_CC)$(HOSTCC) $(CFLAGS) -c -MMD -o $@ $< + $(OUTPUT)%.o: %.c $(QUIET_CC)$(CC) $(CFLAGS) -c -MMD -o $@ $< -clean: $(LIBBPF)-clean +clean: $(LIBBPF)-clean $(LIBBPF_BOOTSTRAP)-clean $(call QUIET_CLEAN, bpftool) $(Q)$(RM) -- $(OUTPUT)bpftool $(OUTPUT)*.o $(OUTPUT)*.d - $(Q)$(RM) -- $(BPFTOOL_BOOTSTRAP) $(OUTPUT)*.skel.h $(OUTPUT)vmlinux.h + $(Q)$(RM) -- $(OUTPUT)*.skel.h $(OUTPUT)vmlinux.h $(Q)$(RM) -r -- $(OUTPUT)libbpf/ + $(Q)$(RM) -r -- $(BOOTSTRAP_OUTPUT) $(call QUIET_CLEAN, core-gen) $(Q)$(RM) -- $(OUTPUT)FEATURE-DUMP.bpftool $(Q)$(RM) -r -- $(OUTPUT)feature/ From patchwork Thu Aug 27 15:36:28 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jean-Philippe Brucker X-Patchwork-Id: 1352670 X-Patchwork-Delegate: bpf@iogearbox.net Return-Path: X-Original-To: incoming-bpf@patchwork.ozlabs.org Delivered-To: patchwork-incoming-bpf@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=bpf-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=bzHg/tXk; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4Bcn1h14hSz9sTg for ; Fri, 28 Aug 2020 01:38:16 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727099AbgH0PiN (ORCPT ); Thu, 27 Aug 2020 11:38:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40626 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726393AbgH0PiL (ORCPT ); Thu, 27 Aug 2020 11:38:11 -0400 Received: from mail-ej1-x642.google.com (mail-ej1-x642.google.com [IPv6:2a00:1450:4864:20::642]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D7E59C06121B for ; Thu, 27 Aug 2020 08:38:10 -0700 (PDT) Received: by mail-ej1-x642.google.com with SMTP id a21so8292963ejp.0 for ; Thu, 27 Aug 2020 08:38:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=xDBvGOMRRlbLo3aQl2trxQoUQwz2l1e/yUsctAVaVes=; b=bzHg/tXkxBdjhdZx7W6NqI7j+/21YP30qGR+SwKgxSirul+Z2ZzwUSRkz+bAQ3hj0T +/fgqcrvxhTi0NJ2BAM5B9uyJO18DZ+/pXsjgMotWwNDxiW9MYsoXehxSv1Pw11ajiFW qqDb6+5CcaWKiLEOMffrgmINAIR1nsMFGdQ/7EgS/cQGegJ72BRxgC9OBIXITxOlGYG2 G0J9IWd/t9ajTsLy816l6i5HsxQdTzwMWJTSb8tQ2TirdcDajI1rDPhKfF0oHaH1zO88 HTHteErCR/7kgtXRRPXJBsD6ODp68/vhmRejjIbjCtsuOETFTvVHMDpkHo2kCCjXmwWa oUuw== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=xDBvGOMRRlbLo3aQl2trxQoUQwz2l1e/yUsctAVaVes=; b=Ad/2RZomoR/5SqwFoZy5HfBLVzgnTT5i7avmcO68QbxXe4lPu2oksjNi+W05jZLyK+ q7K7aQd7nhJ1FSp8beiOGC39WR3ibllnezpxaAfPi1w1U4V/YGwoTxdIp670KETAs5TA 3ST0A37aQLfBpobTTwOpQSGGOxX6NY7CHGlLPxUwnln9vdXurIwGZ+WwYbQyY1Eng6FN bmfVKmXDoQKowf85XK2yE0QEtsx/uv4JtYXWrvGa4Lwf2LpPTs/f+H+zTOHI3zCQ0f+p ZFPQICwCBAOs1CipBPzMLgrMnO3ebK0wTNd6Ae4aEc8aBDAQcCllmxN3vgWhBuknpvp+ qyNQ== X-Gm-Message-State: AOAM531Ws+eXVHbUgVCsihSl41nE44HZKnxgkmuzpjuZ4Bqyzyze6HIF 9ZQJF5ERawUeuzJJ/0Tr2FxBMw== X-Google-Smtp-Source: ABdhPJyCTC6b0hoK1FOZ5swOPK4Ko2BVsjC08YPh67oAzJ517DAxxXlbif7ss2h4Q0DNU7q8DB5oRA== X-Received: by 2002:a17:907:72d2:: with SMTP id du18mr8161461ejc.359.1598542689573; Thu, 27 Aug 2020 08:38:09 -0700 (PDT) Received: from localhost.localdomain ([2001:1715:4e26:a7e0:116c:c27a:3e7f:5eaf]) by smtp.gmail.com with ESMTPSA id i25sm1765616edt.1.2020.08.27.08.38.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Aug 2020 08:38:09 -0700 (PDT) From: Jean-Philippe Brucker To: ast@kernel.org, daniel@iogearbox.net Cc: bpf@vger.kernel.org, kafai@fb.com, songliubraving@fb.com, yhs@fb.com, andriin@fb.com, john.fastabend@gmail.com, kpsingh@chromium.org, Jean-Philippe Brucker Subject: [PATCH bpf-next 4/6] tools/runqslower: Use Makefile.include Date: Thu, 27 Aug 2020 17:36:28 +0200 Message-Id: <20200827153629.3820891-5-jean-philippe@linaro.org> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200827153629.3820891-1-jean-philippe@linaro.org> References: <20200827153629.3820891-1-jean-philippe@linaro.org> MIME-Version: 1.0 Sender: bpf-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: bpf@vger.kernel.org Makefile.include defines variables such as OUTPUT and CC for out-of-tree build and cross-build. Include it into the runqslower Makefile and use its $(QUIET*) helpers. Signed-off-by: Jean-Philippe Brucker --- tools/bpf/runqslower/Makefile | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/tools/bpf/runqslower/Makefile b/tools/bpf/runqslower/Makefile index fb1337d69868..bcc4a7396713 100644 --- a/tools/bpf/runqslower/Makefile +++ b/tools/bpf/runqslower/Makefile @@ -1,4 +1,6 @@ # SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) +include ../../scripts/Makefile.include + OUTPUT := .output CLANG ?= clang LLC ?= llc @@ -21,10 +23,8 @@ VMLINUX_BTF_PATH := $(or $(VMLINUX_BTF),$(firstword \ abs_out := $(abspath $(OUTPUT)) ifeq ($(V),1) Q = -msg = else Q = @ -msg = @printf ' %-8s %s%s\n' "$(1)" "$(notdir $(2))" "$(if $(3), $(3))"; MAKEFLAGS += --no-print-directory submake_extras := feature_display=0 endif @@ -37,12 +37,11 @@ all: runqslower runqslower: $(OUTPUT)/runqslower clean: - $(call msg,CLEAN) + $(call QUIET_CLEAN, runqslower) $(Q)rm -rf $(OUTPUT) runqslower $(OUTPUT)/runqslower: $(OUTPUT)/runqslower.o $(BPFOBJ) - $(call msg,BINARY,$@) - $(Q)$(CC) $(CFLAGS) $^ -lelf -lz -o $@ + $(QUIET_LINK)$(CC) $(CFLAGS) $^ -lelf -lz -o $@ $(OUTPUT)/runqslower.o: runqslower.h $(OUTPUT)/runqslower.skel.h \ $(OUTPUT)/runqslower.bpf.o @@ -50,31 +49,26 @@ $(OUTPUT)/runqslower.o: runqslower.h $(OUTPUT)/runqslower.skel.h \ $(OUTPUT)/runqslower.bpf.o: $(OUTPUT)/vmlinux.h runqslower.h $(OUTPUT)/%.skel.h: $(OUTPUT)/%.bpf.o | $(BPFTOOL) - $(call msg,GEN-SKEL,$@) - $(Q)$(BPFTOOL) gen skeleton $< > $@ + $(QUIET_GEN)$(BPFTOOL) gen skeleton $< > $@ $(OUTPUT)/%.bpf.o: %.bpf.c $(BPFOBJ) | $(OUTPUT) - $(call msg,BPF,$@) - $(Q)$(CLANG) -g -O2 -target bpf $(INCLUDES) \ + $(QUIET_GEN)$(CLANG) -g -O2 -target bpf $(INCLUDES) \ -c $(filter %.c,$^) -o $@ && \ $(LLVM_STRIP) -g $@ $(OUTPUT)/%.o: %.c | $(OUTPUT) - $(call msg,CC,$@) - $(Q)$(CC) $(CFLAGS) $(INCLUDES) -c $(filter %.c,$^) -o $@ + $(QUIET_CC)$(CC) $(CFLAGS) $(INCLUDES) -c $(filter %.c,$^) -o $@ $(OUTPUT): - $(call msg,MKDIR,$@) - $(Q)mkdir -p $(OUTPUT) + $(QUIET_MKDIR)mkdir -p $(OUTPUT) $(OUTPUT)/vmlinux.h: $(VMLINUX_BTF_PATH) | $(OUTPUT) $(BPFTOOL) - $(call msg,GEN,$@) $(Q)if [ ! -e "$(VMLINUX_BTF_PATH)" ] ; then \ echo "Couldn't find kernel BTF; set VMLINUX_BTF to" \ "specify its location." >&2; \ exit 1;\ fi - $(Q)$(BPFTOOL) btf dump file $(VMLINUX_BTF_PATH) format c > $@ + $(QUIET_GEN)$(BPFTOOL) btf dump file $(VMLINUX_BTF_PATH) format c > $@ $(BPFOBJ): $(wildcard $(LIBBPF_SRC)/*.[ch] $(LIBBPF_SRC)/Makefile) | $(OUTPUT) $(Q)$(MAKE) $(submake_extras) -C $(LIBBPF_SRC) \ From patchwork Thu Aug 27 15:36:29 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jean-Philippe Brucker X-Patchwork-Id: 1352671 X-Patchwork-Delegate: bpf@iogearbox.net Return-Path: X-Original-To: incoming-bpf@patchwork.ozlabs.org Delivered-To: patchwork-incoming-bpf@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=bpf-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=w3PrZvHZ; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4Bcn1h6pMGz9sR4 for ; Fri, 28 Aug 2020 01:38:16 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726393AbgH0PiO (ORCPT ); Thu, 27 Aug 2020 11:38:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40634 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726009AbgH0PiM (ORCPT ); Thu, 27 Aug 2020 11:38:12 -0400 Received: from mail-ej1-x644.google.com (mail-ej1-x644.google.com [IPv6:2a00:1450:4864:20::644]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1D0AAC061264 for ; Thu, 27 Aug 2020 08:38:12 -0700 (PDT) Received: by mail-ej1-x644.google.com with SMTP id a21so8293062ejp.0 for ; Thu, 27 Aug 2020 08:38:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=/sLQKuNzCkUI4XRB6gOMH6rmKmQmmnxxXCNwwONqGG4=; b=w3PrZvHZJJGn42U3gwGX+vCCRKig5stMiMIoCVpFUKh9Ih+la9IV7EAN4zL4cFMrsz Z6E2x7CzSv7UkaZerlh+vvnifeJG8s8XnEgwVwACHpqRead9fqi5f3e33bX+wWg5QSzV 18QbWqDjpqBrIdzNneGcKU/eUk6mrTzOiTK51LDvxMrJBdtRpM4Z96ZsICiu8qciTK7x HkE+qZJ3K92QZHhBqhfAdutIlblESRVMNkgnjc68XgnBXyi6zMhLld+7YhMT3F+Nh86G JiUPWYZ3I6AdOlUPlo3T0R1cNW0WD+6sJ9eeuvO7in8YY+j+gTYAezJKyIYaN2t6JNcc gydw== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=/sLQKuNzCkUI4XRB6gOMH6rmKmQmmnxxXCNwwONqGG4=; b=ptuG43qvjLUZHrBw1ZaveA76J4taFOyRRQkJWzo37ZjQqQqfot1eHu2nQdRDr/NUxQ ZYVDXGXsRCUGTNM8ZeEqHYtA5lAnJ1vRGVSOan4Ai8U/lL8Xl8QSVmdOY5WYHehRYgQy HYLNvAwxzD7nJK1ZgWF6KrMfYV238hoaQs7iXOvDVtgGOsol9b/mbPS1KrH0qQy3CJWb xUkukgoj5jEY9lybpRVqR11d558U5RlNcSeFWV1v9/+S9C2gGgJzuKmdhGuOYQE6Qwyf WxeRJBSD+ceZoIT3E62Isuw1F+OYDi6XsS3T/aSG1crcPJm3RJ6yiuj5NDzkieoXbGEb J35g== X-Gm-Message-State: AOAM533djQJknyDx646t2rnkiqGSVH0a+/GpA0Kvo3mc9LO/BxcXF4Zg ejglaxhwGBL8DEhyRvqTmTH9xg== X-Google-Smtp-Source: ABdhPJzvDvEzdVC9qS+3+9qXDEw4FQ6RFu5UCm7wIi0ft77xCIk2HvmqgNX9p15P4zZZTQIvyWC4jg== X-Received: by 2002:a17:906:f150:: with SMTP id gw16mr13667933ejb.532.1598542690726; Thu, 27 Aug 2020 08:38:10 -0700 (PDT) Received: from localhost.localdomain ([2001:1715:4e26:a7e0:116c:c27a:3e7f:5eaf]) by smtp.gmail.com with ESMTPSA id i25sm1765616edt.1.2020.08.27.08.38.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Aug 2020 08:38:10 -0700 (PDT) From: Jean-Philippe Brucker To: ast@kernel.org, daniel@iogearbox.net Cc: bpf@vger.kernel.org, kafai@fb.com, songliubraving@fb.com, yhs@fb.com, andriin@fb.com, john.fastabend@gmail.com, kpsingh@chromium.org, Jean-Philippe Brucker Subject: [PATCH bpf-next 5/6] tools/runqslower: Enable out-of-tree build Date: Thu, 27 Aug 2020 17:36:29 +0200 Message-Id: <20200827153629.3820891-6-jean-philippe@linaro.org> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200827153629.3820891-1-jean-philippe@linaro.org> References: <20200827153629.3820891-1-jean-philippe@linaro.org> MIME-Version: 1.0 Sender: bpf-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: bpf@vger.kernel.org Enable out-of-tree build for runqslower. Only set OUTPUT=.output if it wasn't already set by the user. Signed-off-by: Jean-Philippe Brucker --- tools/bpf/runqslower/Makefile | 45 +++++++++++++++++++++++------------ 1 file changed, 30 insertions(+), 15 deletions(-) diff --git a/tools/bpf/runqslower/Makefile b/tools/bpf/runqslower/Makefile index bcc4a7396713..861f4dcde960 100644 --- a/tools/bpf/runqslower/Makefile +++ b/tools/bpf/runqslower/Makefile @@ -1,15 +1,20 @@ # SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) include ../../scripts/Makefile.include -OUTPUT := .output +ifeq ($(OUTPUT),) + OUTPUT = $(abspath .output)/ +endif + CLANG ?= clang LLC ?= llc LLVM_STRIP ?= llvm-strip -DEFAULT_BPFTOOL := $(OUTPUT)/sbin/bpftool +BPFTOOL_OUTPUT := $(OUTPUT)bpftool/ +DEFAULT_BPFTOOL := $(BPFTOOL_OUTPUT)bpftool BPFTOOL ?= $(DEFAULT_BPFTOOL) LIBBPF_SRC := $(abspath ../../lib/bpf) -BPFOBJ := $(OUTPUT)/libbpf.a -BPF_INCLUDE := $(OUTPUT) +BPFOBJ_OUTPUT := $(OUTPUT)libbpf/ +BPFOBJ := $(BPFOBJ_OUTPUT)libbpf.a +BPF_INCLUDE := $(BPFOBJ_OUTPUT) INCLUDES := -I$(OUTPUT) -I$(BPF_INCLUDE) -I$(abspath ../../lib) \ -I$(abspath ../../include/uapi) CFLAGS := -g -Wall @@ -20,7 +25,6 @@ VMLINUX_BTF_PATHS := /sys/kernel/btf/vmlinux /boot/vmlinux-$(KERNEL_REL) VMLINUX_BTF_PATH := $(or $(VMLINUX_BTF),$(firstword \ $(wildcard $(VMLINUX_BTF_PATHS)))) -abs_out := $(abspath $(OUTPUT)) ifeq ($(V),1) Q = else @@ -36,9 +40,13 @@ all: runqslower runqslower: $(OUTPUT)/runqslower -clean: +clean: $(DEFAULT_BPFTOOL)-clean $(BPFOBJ)-clean $(call QUIET_CLEAN, runqslower) - $(Q)rm -rf $(OUTPUT) runqslower + $(Q)$(RM) -r $(BPFOBJ_OUTPUT) $(BPFTOOL_OUTPUT) + $(Q)$(RM) $(OUTPUT)*.o $(OUTPUT)*.d + $(Q)$(RM) $(OUTPUT)*.skel.h $(OUTPUT)vmlinux.h + $(Q)$(RM) $(OUTPUT)runqslower + $(Q)$(RM) -r .output $(OUTPUT)/runqslower: $(OUTPUT)/runqslower.o $(BPFOBJ) $(QUIET_LINK)$(CC) $(CFLAGS) $^ -lelf -lz -o $@ @@ -59,8 +67,8 @@ $(OUTPUT)/%.bpf.o: %.bpf.c $(BPFOBJ) | $(OUTPUT) $(OUTPUT)/%.o: %.c | $(OUTPUT) $(QUIET_CC)$(CC) $(CFLAGS) $(INCLUDES) -c $(filter %.c,$^) -o $@ -$(OUTPUT): - $(QUIET_MKDIR)mkdir -p $(OUTPUT) +$(OUTPUT) $(BPFOBJ_OUTPUT) $(BPFTOOL_OUTPUT): + $(QUIET_MKDIR)mkdir -p $@ $(OUTPUT)/vmlinux.h: $(VMLINUX_BTF_PATH) | $(OUTPUT) $(BPFTOOL) $(Q)if [ ! -e "$(VMLINUX_BTF_PATH)" ] ; then \ @@ -70,10 +78,17 @@ $(OUTPUT)/vmlinux.h: $(VMLINUX_BTF_PATH) | $(OUTPUT) $(BPFTOOL) fi $(QUIET_GEN)$(BPFTOOL) btf dump file $(VMLINUX_BTF_PATH) format c > $@ -$(BPFOBJ): $(wildcard $(LIBBPF_SRC)/*.[ch] $(LIBBPF_SRC)/Makefile) | $(OUTPUT) - $(Q)$(MAKE) $(submake_extras) -C $(LIBBPF_SRC) \ - OUTPUT=$(abspath $(dir $@))/ $(abspath $@) +$(BPFOBJ): $(wildcard $(LIBBPF_SRC)/*.[ch] $(LIBBPF_SRC)/Makefile) | $(BPFOBJ_OUTPUT) + $(Q)$(MAKE) $(submake_extras) -C $(LIBBPF_SRC) OUTPUT=$(BPFOBJ_OUTPUT) $@ + +$(BPFOBJ)-clean: $(BPFOBJ_OUTPUT) + $(Q)$(MAKE) -C $(LIBBPF_SRC) OUTPUT=$(BPFOBJ_OUTPUT) clean -$(DEFAULT_BPFTOOL): - $(Q)$(MAKE) $(submake_extras) -C ../bpftool \ - prefix= OUTPUT=$(abs_out)/ DESTDIR=$(abs_out) install +$(DEFAULT_BPFTOOL): | $(BPFTOOL_OUTPUT) + $(Q)$(MAKE) $(submake_extras) -C ../bpftool OUTPUT=$(BPFTOOL_OUTPUT) + +$(DEFAULT_BPFTOOL)-clean: $(BPFTOOL_OUTPUT) +ifeq ($(DEFAULT_BPFTOOL),$(BPFTOOL)) + $(call QUIET_CLEAN,bpftool) + $(Q)$(MAKE) -C ../bpftool OUTPUT=$(BPFTOOL_OUTPUT) clean +endif From patchwork Thu Aug 27 15:36:30 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jean-Philippe Brucker X-Patchwork-Id: 1352672 X-Patchwork-Delegate: bpf@iogearbox.net Return-Path: X-Original-To: incoming-bpf@patchwork.ozlabs.org Delivered-To: patchwork-incoming-bpf@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=bpf-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=l8oxS2MI; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4Bcn1j5KFfz9sSP for ; Fri, 28 Aug 2020 01:38:17 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726009AbgH0PiP (ORCPT ); Thu, 27 Aug 2020 11:38:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40636 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726995AbgH0PiN (ORCPT ); Thu, 27 Aug 2020 11:38:13 -0400 Received: from mail-ej1-x643.google.com (mail-ej1-x643.google.com [IPv6:2a00:1450:4864:20::643]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 107B2C06121B for ; Thu, 27 Aug 2020 08:38:13 -0700 (PDT) Received: by mail-ej1-x643.google.com with SMTP id a21so8293131ejp.0 for ; Thu, 27 Aug 2020 08:38:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=v0FgighIwdmM/GwCv8tksYLJpYPYvU6sl0BqpPn2H6s=; b=l8oxS2MIS5ymcvd2DzvHjvFpQCZU7T1S1yljxP0yRdqoNskUq0gjLFybxd/ySXAyaN B1q+RikCsT72yE6bGRemR99UjziVE/8Lq75KmnPGpkCsYJh1/ecM9droa9WegRMj6P65 Niie3+may9hLnssUX9Qk5zgjUnTYB7jBha/AB+3UwF8hegdXW9YFt0wf0n3mGTtOlpjC YNHbK0ZwgBTO6XmQOzWiD1gl9FaJ8Y6rWm5mEIxpRnOJx7rf0d/D0mzb/hEaKG4zCVVX +pYxhLo4KHd3t9yo/TyStaLgLPgWEvTFtK1LnPWvzz/GoIVAd8wV64xA7wyb+1LU5Sf1 /JIQ== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=v0FgighIwdmM/GwCv8tksYLJpYPYvU6sl0BqpPn2H6s=; b=ShxOEqv8u6t4+ODteJudyK5zh7fyAbKE3uk43CJNHBaG09KuK5SdO71ZavEtdweJjg xf7jsp1hDbieOVNOoJoNBIExGEE/Lkw9bKAlDoYxci7oTHpmrYOM4g/Zv/6WWAzVTdxp 1azQBm4dp6i9OsLHURSWHbtzbbZ0Zn1R4KvJW6UGUbMOViUPEsyuxRrm2W2yCteStPRF OdGHdjUGAUNjlyuxwLVJ+6e6xtTZMl1/cL0cZqoVmdEJthEVHV2hM5ADySfNtZ2LKt+P r12AC4ZWlZGaY6Xe0vzH1utJ4fxECTLKZxhrdHOArN6jeFOO5KXg+xAuLBOP/Rq+xrpw uUMQ== X-Gm-Message-State: AOAM532LS4BXWRLHiYbFuEkodhJ0L/WvFAiHGwMGFYC6whWF8GoVnQIE WgRFV4ijW1PlmUqMR0lGaMFx0g== X-Google-Smtp-Source: ABdhPJwyQCaAezpLu/msj4Wm8kAo6W6LLXcDXbhHWJsOLToMqCuFqw2GWb8nAUs7Z/NrJdmFc5gxow== X-Received: by 2002:a17:906:1719:: with SMTP id c25mr22440976eje.487.1598542691776; Thu, 27 Aug 2020 08:38:11 -0700 (PDT) Received: from localhost.localdomain ([2001:1715:4e26:a7e0:116c:c27a:3e7f:5eaf]) by smtp.gmail.com with ESMTPSA id i25sm1765616edt.1.2020.08.27.08.38.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Aug 2020 08:38:11 -0700 (PDT) From: Jean-Philippe Brucker To: ast@kernel.org, daniel@iogearbox.net Cc: bpf@vger.kernel.org, kafai@fb.com, songliubraving@fb.com, yhs@fb.com, andriin@fb.com, john.fastabend@gmail.com, kpsingh@chromium.org, Jean-Philippe Brucker Subject: [PATCH bpf-next 6/6] tools/runqslower: Build bpftool using HOSTCC Date: Thu, 27 Aug 2020 17:36:30 +0200 Message-Id: <20200827153629.3820891-7-jean-philippe@linaro.org> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200827153629.3820891-1-jean-philippe@linaro.org> References: <20200827153629.3820891-1-jean-philippe@linaro.org> MIME-Version: 1.0 Sender: bpf-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: bpf@vger.kernel.org When cross building runqslower for an other architecture, the intermediate bpftool used to generate a skeleton must be built using the host toolchain. Pass HOSTCC and HOSTLD, defined in Makefile.include, to the bpftool Makefile. Signed-off-by: Jean-Philippe Brucker --- tools/bpf/runqslower/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/bpf/runqslower/Makefile b/tools/bpf/runqslower/Makefile index 861f4dcde960..fa5c18b70dd0 100644 --- a/tools/bpf/runqslower/Makefile +++ b/tools/bpf/runqslower/Makefile @@ -85,7 +85,8 @@ $(BPFOBJ)-clean: $(BPFOBJ_OUTPUT) $(Q)$(MAKE) -C $(LIBBPF_SRC) OUTPUT=$(BPFOBJ_OUTPUT) clean $(DEFAULT_BPFTOOL): | $(BPFTOOL_OUTPUT) - $(Q)$(MAKE) $(submake_extras) -C ../bpftool OUTPUT=$(BPFTOOL_OUTPUT) + $(Q)$(MAKE) $(submake_extras) -C ../bpftool OUTPUT=$(BPFTOOL_OUTPUT) \ + CC=$(HOSTCC) LD=$(HOSTLD) $(DEFAULT_BPFTOOL)-clean: $(BPFTOOL_OUTPUT) ifeq ($(DEFAULT_BPFTOOL),$(BPFTOOL))