Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp6251202pxv; Thu, 29 Jul 2021 09:51:52 -0700 (PDT) X-Google-Smtp-Source: ABdhPJziSEl3Bd8GPwXFympGr45YbdooQO7OYbxqM/mZIg2c1SU+zwMulY6GObOFDFggrpOJblsZ X-Received: by 2002:a05:6638:381e:: with SMTP id i30mr5289684jav.17.1627577512351; Thu, 29 Jul 2021 09:51:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627577512; cv=none; d=google.com; s=arc-20160816; b=vOclgKVcWpQ0oHttiRWDTCBnA762KKFXTDHXBKIpZyNgbQjVi4OJcWAS3/sGUfpmtk FCvShfl9aq/r8eD4DGI9/ZJvA2ucJrZZb/avP6lfAODim63n98123GLbqN9MHj2InNox HPlPSYtRbR0hGRA2NtmBoEz9Is8pVWwkQ0I5nIs0MLhF06XjVOJA8vvQam6DVkoNs/kD MKl4g2Rxl5gAZkscfJZJcdzaIIehGH3oI93M0CssAsZyALHqhzykbX8aGnSl6csXW0CQ FNtafIE+KCgOhVZ2k3LOAGoUX9rNwEJcn1ee+oTpbDS6xPEmo7k7JbS4IA8Ki0dyN/e5 qC+w== 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=x9OsDi6ntYJ0VIZCmJL557cNSnY5r/Ab9zmZ7MgbT4s=; b=Toq9rpNY3jEnLZRzuC88Vqfx2yxY7Ove69f7y9AgvWGKElDQg/Fuz9fawQasmd3RRb VM2UJD7eTvHitQHum+fcNiMsaOgcm26QtwUvVc8NwbfBsgwlMwo7T6uAXXyMwu8SezEG kA1jYEcmLu+f1vLpGvYkCefl6jIG3j6ctKbm5ORud/G37yyyH3+Meb2kEm+lkcynDwa2 7dx7XNYWwBpyV8JPlSma7WmebWqfHLsXy9LtDMHxNqHpOGHwfTf5vQislt6AnkxdF/ax apbZfb+bDd6K69yxF9PYHP0xlk/5IpPzRS6qvD6x2brQzed0P0z2D/GVgUQYRiDEiFoH lOog== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b="Z887/h+J"; 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 x9si3077580ill.152.2021.07.29.09.51.40; Thu, 29 Jul 2021 09:51:52 -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="Z887/h+J"; 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 S231602AbhG2Qu5 (ORCPT + 99 others); Thu, 29 Jul 2021 12:50:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40196 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231245AbhG2Quu (ORCPT ); Thu, 29 Jul 2021 12:50:50 -0400 Received: from mail-qv1-xf49.google.com (mail-qv1-xf49.google.com [IPv6:2607:f8b0:4864:20::f49]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 16800C061765 for ; Thu, 29 Jul 2021 09:50:47 -0700 (PDT) Received: by mail-qv1-xf49.google.com with SMTP id fq10-20020a056214258ab02903395e637cf9so1213985qvb.15 for ; Thu, 29 Jul 2021 09:50:47 -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=x9OsDi6ntYJ0VIZCmJL557cNSnY5r/Ab9zmZ7MgbT4s=; b=Z887/h+JPf/RmzOCpldFxPeiU1mG1LxdCC2VrhA/Pzmd3Yr2pQqYgskaKQhruSs1gK zqE2XDGn/UDBMz3PqaOQC3bzKTiaFYkcrLVhEblfJcKZxikcc4ojwuoD83BnMcYDN4pA NQvzXmAZYAQ7EPo+s6Oj6ntrG3HxW3UO0F3gUAg6kkwFgc5nRKu9cGm5NmnX78+Gkkox OFtnzA0ox3fO3uL9eLk6ueX37tyPwjQM4M2WR8HWYFcRKFANsfdZ+is+GPX/reIyFF0k i8weiiNOmEVbBq0qI9plBz8lfDywqTpjv0Y6mZMIZR817ywaVm+N1jAEDawM0oYZxhOx tWKg== 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=x9OsDi6ntYJ0VIZCmJL557cNSnY5r/Ab9zmZ7MgbT4s=; b=AIOACLGLgEYw5vCfZJK8zNpXuVzYaXJ61fDslZpI5ZTLuhF1dDa0Tu8vGfKpd7DtlI RBXY+FuXMB1BihicQj9RN3cV5HjynskBEGamlOmwl/MrWG9HP73NN+1EonXvbAamiNzf a3jTdzWO8IX7ylkBOXTw5p3OJ8g29EAwmCSczSX7YpGZKPVPQrFZ6INjd03WTPptOfAT AzwEy0UcOd3byXGh2eO22QnCZgeyVKlSLjj+3Vno+zsJJA8qZNzKDVPTFmwwqHfnZZob TjVUTclPx7jDWjy2h/66C9s28rwA5akmMMZ0+lu5vrllsMgUggaJMCLtxprbyvQtiK/f YWqA== X-Gm-Message-State: AOAM533434tli93fMJdj6QnFGbfFx8sWsHJLbpjpvHPjbYBARDtzVLV6 MSUGH3pWLvYrnWLkvtk2CgSsVFj68S2cB8rMHxo= X-Received: from ndesaulniers1.mtv.corp.google.com ([2620:15c:211:202:8132:32f4:cf29:1268]) (user=ndesaulniers job=sendgmr) by 2002:a0c:d446:: with SMTP id r6mr6264764qvh.3.1627577446115; Thu, 29 Jul 2021 09:50:46 -0700 (PDT) Date: Thu, 29 Jul 2021 09:50:38 -0700 In-Reply-To: <20210729165039.23896-1-ndesaulniers@google.com> Message-Id: <20210729165039.23896-2-ndesaulniers@google.com> Mime-Version: 1.0 References: <20210729165039.23896-1-ndesaulniers@google.com> X-Mailer: git-send-email 2.32.0.432.gabb21c7263-goog Subject: [PATCH v3 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 , Nathan Chancellor 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/. Reviewed-by: Nathan Chancellor Signed-off-by: Nick Desaulniers --- Changes V2 -> V3: * Pick up Nathan's RB tag. 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.432.gabb21c7263-goog