Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp110087pxv; Thu, 8 Jul 2021 16:26:49 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzLmOTw2PTa2FCXPLqD5nuizXLB3wArbuJuSwY9AedE0b7G44uN+uZy/gAi9GhdKak/yzPm X-Received: by 2002:a05:6402:34d3:: with SMTP id w19mr32382610edc.53.1625786809374; Thu, 08 Jul 2021 16:26:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1625786809; cv=none; d=google.com; s=arc-20160816; b=g6KBwazJgCDPDTtYd8Wu2On1b7kMNYoUpZZ5KUIJpF1T8CmGeeh409WplNEP8OrXV8 FVfY0d9rUCTekNl08sOA2vBgEu/3iPuGtp31T8kFq3TDrhnLpAVti+G7XuNyxL+zkWI9 Lp6TIQ2ydk8zEz3/anmxPEKNriaokZusc13EdkpoK2jXuucc5xdUPTCZOJlebnGGO+Ec dBhe+mg5K7+Rq6/bm/PgnK624PAic9ADxjfujZ50lMI66WDem+Q4F6OKVLJQGS7hyy3Z JqLn4mbjj+zTSmXkJtX7w1O6iektFzi8z/gQ4p8nsl/b054Uia3vxCnrKGakPikWeRmz EhpQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:references:mime-version :message-id:in-reply-to:date:dkim-signature; bh=urOO6z/E/vigRuyY41VEGZzBsmY3+0PNbgPSZ6JhbA8=; b=VXaUklmkHAmURmqF1Naz6tt5irh5jBLUrcGGgTbl9pghLjMBHK2FxaSRNvfWj6xn5Q WS7VVjO9n0Hmr1/ugugNqCu8Ri14bx5Hmi0HTVVgGCwLmtV50k8IbIZ6WdsLgJzJRoP3 lWgoxpA65i0x52f6/k5N3oS1BY053XSm+n+cMIGJZOV/wyTgoCbYGDpnB81MGbH+47Bf szt0RCT3FSxE0j4j2wq04SAehEuBk7B9JcdYAuHslvbprk9dQI9j78C+e+UTMUXuya+8 VMMs2PtKVcjL4p8SvJwu8HC/WgHlnLeQwIQ76WPHGvCOI/jaHk8pSj2tQq7K3T43iU2Q xmtw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=q9AAsmHE; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u8si5347449edp.93.2021.07.08.16.26.26; Thu, 08 Jul 2021 16:26:49 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=q9AAsmHE; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229691AbhGHX2M (ORCPT + 99 others); Thu, 8 Jul 2021 19:28:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55662 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229497AbhGHX2M (ORCPT ); Thu, 8 Jul 2021 19:28:12 -0400 Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com [IPv6:2607:f8b0:4864:20::b49]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A40FCC06175F for ; Thu, 8 Jul 2021 16:25:29 -0700 (PDT) Received: by mail-yb1-xb49.google.com with SMTP id p63-20020a25d8420000b029055bc6fd5e5bso8994724ybg.9 for ; Thu, 08 Jul 2021 16:25:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:in-reply-to:message-id:mime-version:references:subject:from:to :cc; bh=urOO6z/E/vigRuyY41VEGZzBsmY3+0PNbgPSZ6JhbA8=; b=q9AAsmHEGJuqeAqSa0zZFJCgp9QTxFkcay8w3jlF4LA6Ch3FtAnVJt2Xg/LbiecI0T TQPbsEcjxkaMsAfHSsF9aNYPKLG95iKcL8r5s4RV+KTO6VspeVtWETOBzj4xP2/Pq+mp SWralMOg3c04MC+ov84m7oX0wCgp4QX0t1T6BTEt5Qu/wF7v5Dme3oQwI+zCmvT7VdKV UwrT2r3qXtaGMncUgRLgnnZ6N4j6d17WkcKJbb9ARLlKl6pU6f3Jz+ML7NOB41pJGdgG jMoqtNkVUKrBBD/01yeoYzHVTK4hMJGrPF+DYIm4B5PLvbSxSv0Vfg6+Z7MRAXOZGz1I XgMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc; bh=urOO6z/E/vigRuyY41VEGZzBsmY3+0PNbgPSZ6JhbA8=; b=nKB5oBhPJMA2TXo+37NdarbSgY5pFMNOftIDAcZsT9vWIMfa/4bPGUHh9JSx/qvh1P qwlQINgc4puCAPDV+RIS8+lD3aifglH4RYaUS+y9jVx6wtoiTsVTFqv3zV74MouC32VS c+Rr1iCy7km1XvAWbzipK+BdNemygeGCqlhFiqs7e52iZRsFuzmpSHv5JzBF+7dwROiP s+0zxqhNFJySNwqCZn7url7l6kWLcS8IfSzmgKQqHiyhToRrfXW7qG9DQM3rUzxGZ0Jw d6h0WuYMk5rumczJfULxDzGbiCLwzKIgJCsj8p0ZquLFAe9pJqlZMImC3Vf/AbVr0Q3r xWrg== X-Gm-Message-State: AOAM5331HbF2zX/H9HAZo+/xhcSA86AT8pZOQhqR4KeS8XH2uiSYHBYI C87vUH/LYvPahWhGvB651DYVH8DkXELDzc6Fp/c= X-Received: from ndesaulniers1.mtv.corp.google.com ([2620:15c:211:202:9fd:98a9:be3a:391d]) (user=ndesaulniers job=sendgmr) by 2002:a25:508e:: with SMTP id e136mr39414843ybb.275.1625786728855; Thu, 08 Jul 2021 16:25:28 -0700 (PDT) Date: Thu, 8 Jul 2021 16:25:21 -0700 In-Reply-To: <20210708232522.3118208-1-ndesaulniers@google.com> Message-Id: <20210708232522.3118208-2-ndesaulniers@google.com> Mime-Version: 1.0 References: <20210708232522.3118208-1-ndesaulniers@google.com> X-Mailer: git-send-email 2.32.0.93.g670b81a890-goog Subject: [PATCH v2 1/2] Makefile: move initial clang flag handling into scripts/Makefile.clang From: Nick Desaulniers To: Masahiro Yamada Cc: Miguel Ojeda , Fangrui Song , Michal Marek , Arnd Bergmann , linux-kernel@vger.kernel.org, linux-kbuild@vger.kernel.org, clang-built-linux@googlegroups.com, Geert Uytterhoeven , Christoph Hellwig , Linus Torvalds , Nick Desaulniers Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org With some of the changes we'd like to make to CROSS_COMPILE, the initial block of clang flag handling which controls things like the target triple, whether or not to use the integrated assembler and how to find GAS, and erroring on unknown warnings is becoming unwieldy. Move it into its own file under scripts/. Signed-off-by: Nick Desaulniers --- MAINTAINERS | 1 + Makefile | 15 +-------------- scripts/Makefile.clang | 14 ++++++++++++++ 3 files changed, 16 insertions(+), 14 deletions(-) create mode 100644 scripts/Makefile.clang diff --git a/MAINTAINERS b/MAINTAINERS index 81e1edeceae4..9c1205c258c7 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -4433,6 +4433,7 @@ B: https://github.com/ClangBuiltLinux/linux/issues C: irc://chat.freenode.net/clangbuiltlinux F: Documentation/kbuild/llvm.rst F: include/linux/compiler-clang.h +F: scripts/Makefile.clang F: scripts/clang-tools/ K: \b(?i:clang|llvm)\b diff --git a/Makefile b/Makefile index cbab0dc53065..010e3a4e770b 100644 --- a/Makefile +++ b/Makefile @@ -586,20 +586,7 @@ endif CC_VERSION_TEXT = $(subst $(pound),,$(shell $(CC) --version 2>/dev/null | head -n 1)) ifneq ($(findstring clang,$(CC_VERSION_TEXT)),) -ifneq ($(CROSS_COMPILE),) -CLANG_FLAGS += --target=$(notdir $(CROSS_COMPILE:%-=%)) -endif -ifeq ($(LLVM_IAS),1) -CLANG_FLAGS += -integrated-as -else -CLANG_FLAGS += -no-integrated-as -GCC_TOOLCHAIN_DIR := $(dir $(shell which $(CROSS_COMPILE)elfedit)) -CLANG_FLAGS += --prefix=$(GCC_TOOLCHAIN_DIR)$(notdir $(CROSS_COMPILE)) -endif -CLANG_FLAGS += -Werror=unknown-warning-option -KBUILD_CFLAGS += $(CLANG_FLAGS) -KBUILD_AFLAGS += $(CLANG_FLAGS) -export CLANG_FLAGS +include $(srctree)/scripts/Makefile.clang endif # Include this also for config targets because some architectures need diff --git a/scripts/Makefile.clang b/scripts/Makefile.clang new file mode 100644 index 000000000000..297932e973d4 --- /dev/null +++ b/scripts/Makefile.clang @@ -0,0 +1,14 @@ +ifneq ($(CROSS_COMPILE),) +CLANG_FLAGS += --target=$(notdir $(CROSS_COMPILE:%-=%)) +endif +ifeq ($(LLVM_IAS),1) +CLANG_FLAGS += -integrated-as +else +CLANG_FLAGS += -no-integrated-as +GCC_TOOLCHAIN_DIR := $(dir $(shell which $(CROSS_COMPILE)elfedit)) +CLANG_FLAGS += --prefix=$(GCC_TOOLCHAIN_DIR)$(notdir $(CROSS_COMPILE)) +endif +CLANG_FLAGS += -Werror=unknown-warning-option +KBUILD_CFLAGS += $(CLANG_FLAGS) +KBUILD_AFLAGS += $(CLANG_FLAGS) +export CLANG_FLAGS -- 2.32.0.93.g670b81a890-goog