| From 88e31fc1494e0da19ef8ae2ebda055289726904b Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Fri, 20 Jun 2025 13:00:27 +0200 |
| Subject: tools/build: Fix s390(x) cross-compilation with clang |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| From: Thomas Weißschuh <thomas.weissschuh@linutronix.de> |
| |
| [ Upstream commit a40f0cdce78be8a559ee8a85c908049c65a410b2 ] |
| |
| The heuristic to derive a clang target triple from a GCC one does not work |
| for s390. GCC uses "s390-linux" while clang expects "s390x-linux" or |
| "powerz-linux". |
| |
| Add an explicit override. |
| |
| Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de> |
| Link: https://lore.kernel.org/r/20250620-tools-cross-s390-v2-1-ecda886e00e5@linutronix.de |
| Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| tools/scripts/Makefile.include | 4 +++- |
| 1 file changed, 3 insertions(+), 1 deletion(-) |
| |
| diff --git a/tools/scripts/Makefile.include b/tools/scripts/Makefile.include |
| index ff527ac065cf..c006e72b4f43 100644 |
| --- a/tools/scripts/Makefile.include |
| +++ b/tools/scripts/Makefile.include |
| @@ -98,7 +98,9 @@ else ifneq ($(CROSS_COMPILE),) |
| # Allow userspace to override CLANG_CROSS_FLAGS to specify their own |
| # sysroots and flags or to avoid the GCC call in pure Clang builds. |
| ifeq ($(CLANG_CROSS_FLAGS),) |
| -CLANG_CROSS_FLAGS := --target=$(notdir $(CROSS_COMPILE:%-=%)) |
| +CLANG_TARGET := $(notdir $(CROSS_COMPILE:%-=%)) |
| +CLANG_TARGET := $(subst s390-linux,s390x-linux,$(CLANG_TARGET)) |
| +CLANG_CROSS_FLAGS := --target=$(CLANG_TARGET) |
| GCC_TOOLCHAIN_DIR := $(dir $(shell which $(CROSS_COMPILE)gcc 2>/dev/null)) |
| ifneq ($(GCC_TOOLCHAIN_DIR),) |
| CLANG_CROSS_FLAGS += --prefix=$(GCC_TOOLCHAIN_DIR)$(notdir $(CROSS_COMPILE)) |
| -- |
| 2.39.5 |
| |