[PATCH bpf v2] tools: Override makefile ARCH variable if defined, but empty

Björn Töpel bjorn at kernel.org
Wed Nov 27 02:17:46 PST 2024


From: Björn Töpel <bjorn at rivosinc.com>

There are a number of tools (bpftool, selftests), that require a
"bootstrap" build. Here, a bootstrap build is a build host variant of
a target. E.g., assume that you're performing a bpftool cross-build on
x86 to riscv, a bootstrap build would then be an x86 variant of
bpftool. The typical way to perform the host build variant, is to pass
"ARCH=" in a sub-make. However, if a variable has been set with a
command argument, then ordinary assignments in the makefile are
ignored.

This side-effect results in that ARCH, and variables depending on ARCH
are not set.

Workaround by overriding ARCH to the host arch, if ARCH is empty.

Fixes: 8859b0da5aac ("tools/bpftool: Fix cross-build")
Reviewed-by: Jean-Philippe Brucker <jean-philippe at linaro.org>
Tested-by: Alexandre Ghiti <alexghiti at rivosinc.com>
Reviewed-by: Namhyung Kim <namhyung at kernel.org>
Acked-by: Quentin Monnet <qmo at kernel.org>
Signed-off-by: Björn Töpel <bjorn at rivosinc.com>
---
v2: Proper tree tag "bpf".
    Collected *-by tags.

Andrii,

Apologies for missing out the tree tag in the patch. Here's a respin,
and thanks for routing it via the BPF tree.


Björn

---
 tools/scripts/Makefile.arch | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/scripts/Makefile.arch b/tools/scripts/Makefile.arch
index f6a50f06dfc4..eabfe9f411d9 100644
--- a/tools/scripts/Makefile.arch
+++ b/tools/scripts/Makefile.arch
@@ -7,8 +7,8 @@ HOSTARCH := $(shell uname -m | sed -e s/i.86/x86/ -e s/x86_64/x86/ \
                                   -e s/sh[234].*/sh/ -e s/aarch64.*/arm64/ \
                                   -e s/riscv.*/riscv/ -e s/loongarch.*/loongarch/)
 
-ifndef ARCH
-ARCH := $(HOSTARCH)
+ifeq ($(strip $(ARCH)),)
+override ARCH := $(HOSTARCH)
 endif
 
 SRCARCH := $(ARCH)

base-commit: 3448ad23b34e43a2526bd0f9e1221e8de876adec
-- 
2.45.2




More information about the linux-riscv mailing list