Message ID | 20230401170117.1580840-1-masahiroy@kernel.org |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp1339780vqo; Sat, 1 Apr 2023 10:11:06 -0700 (PDT) X-Google-Smtp-Source: AKy350ZaLOMXvl8SKR22RullNwd48EdTdPAZQIW/EArnCG2rPWkx4najGQ6+a6ZzTOkBY+YHajtw X-Received: by 2002:aa7:d60c:0:b0:502:9578:38ed with SMTP id c12-20020aa7d60c000000b00502957838edmr1358255edr.27.1680369065934; Sat, 01 Apr 2023 10:11:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1680369065; cv=none; d=google.com; s=arc-20160816; b=kpbEi0Tey4Gkbujq4AJH92sJ8oXV/kKfMwbxC1mtVSMDT5VHCUlmNwvRRlhZXPV0mz erNBb+lMMxSZIKiPM8ruMkdSCaBEDnALTQNg4ZcZwk5ZWnJLdrXMb3fY5COdeK1uhClB fUdx9b3eAkFakGNNQsIf5VxYD0OXbliN/4srUfmXl8tlvevuhtbXVSys+FjseTP4YeZy pkLsT7KCBsCBsBQSchePHNO3EXGWur0cLLZokBY/b2bqnDDlsjNzHxrkgFejBXSYnYh3 uD1vWoBpFwIK4QWAX9adUOD7xK0Ddn2+zWZMsP3osvXWpktJ1Ez85qPBt+FfEd/f3xgy GV0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=i5IXHXMccLbCK+/Osun0bh9J4X4W6+l0lUpM+3gQprA=; b=r+P9nIjF36jpUhUN2ezHq1QY/h7HnjH+oB9fqZn58A93wy0y2ok9jOS5P6RwFjfWCi l+Hy3vPaxDuxw+tpxcoJjBf0hMhwDC6SiUw0YomDL1h+t0JMmJgleU3jKm+0I1ANRtoQ 9jghOaLmYP61NTbtr7RB4dv38kfug8N4ojpf6fCpH0F3Wl8yN58JVZzEH3g65PjqPq7y AFqhNcfpQ4M2fExQOgOZVjjYED3JwnYBmhzqoNEJUMOur1ok4uXAaG9oYUNh45DIwcHy ylI5rrKb+8YgoVRxoYzOewjZbjA8Hz2gvz9gwSLl5DAL/cV9EKANFKrkJPyAm8xuG1QF JRhw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=uMu9nix7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id n23-20020a05640206d700b004fac80816a7si1665726edy.183.2023.04.01.10.10.42; Sat, 01 Apr 2023 10:11:05 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=uMu9nix7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230001AbjDARBq (ORCPT <rfc822;dexuan.linux@gmail.com> + 99 others); Sat, 1 Apr 2023 13:01:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51850 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229461AbjDARBo (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Sat, 1 Apr 2023 13:01:44 -0400 Received: from sin.source.kernel.org (sin.source.kernel.org [IPv6:2604:1380:40e1:4800::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D881C9018; Sat, 1 Apr 2023 10:01:40 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sin.source.kernel.org (Postfix) with ESMTPS id 11DC0CE0977; Sat, 1 Apr 2023 17:01:39 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6598BC433EF; Sat, 1 Apr 2023 17:01:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1680368497; bh=nuhDMccdMP0Y6Y4UcZv3WOK7g36PHDyTuOqCYd6Ot2s=; h=From:To:Cc:Subject:Date:From; b=uMu9nix7F2+se3pT6VMrygiTbes4sz8zTZlaAbHMAwxXoFK+rK48DromZFsYot/r1 xVqV2JMGxMVMD1Qmg3+ADyM3Tuv4xNHsIJ5D7N/d7ge7FMVgAD46n/2Uct7l9Gf/v8 JVwVOq7YFIk5Lvb4YEEqLshhDqcM9kWgwr31pthGyG5sSZxC3ZTnncfU9X2rSslPkz pGNEfBMRQLtAbaHzboDsOBAsMoTv+/yKRfNbqwLFFTbFv7a4rH/qhrb8nHAgcOBT1K Cz+tSSUFASey6e0qBv3l2pbO/Sr0+xTmN81X1Zpv1bZ+LKoJd9IQj2a4jSQrbTk9f9 vr0VOqHfIdRJw== From: Masahiro Yamada <masahiroy@kernel.org> To: linux-kbuild@vger.kernel.org, Nathan Chancellor <nathan@kernel.org>, Nick Desaulniers <ndesaulniers@google.com>, Tom Rix <trix@redhat.com>, llvm@lists.linux.dev Cc: linux-kernel@vger.kernel.org, Fangrui Song <maskray@google.com>, Masahiro Yamada <masahiroy@kernel.org>, Nicolas Schier <nicolas@fjasle.eu> Subject: [PATCH] kbuild: clang: do not use CROSS_COMPILE for target triple Date: Sun, 2 Apr 2023 02:01:17 +0900 Message-Id: <20230401170117.1580840-1-masahiroy@kernel.org> X-Mailer: git-send-email 2.37.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.5 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761994673447630654?= X-GMAIL-MSGID: =?utf-8?q?1761994673447630654?= |
Series |
kbuild: clang: do not use CROSS_COMPILE for target triple
|
|
Commit Message
Masahiro Yamada
April 1, 2023, 5:01 p.m. UTC
The target triple is overridden by the user-supplied CROSS_COMPILE,
but I do not see a good reason to support it. Users can use a new
architecture without adding CLANG_TARGET_FLAGS_*, but that would be
a rare case.
Use the hard-coded and deterministic target triple all the time.
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
---
scripts/Makefile.clang | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
Comments
On Sun, Apr 02, 2023 at 02:01:17AM +0900, Masahiro Yamada wrote: > The target triple is overridden by the user-supplied CROSS_COMPILE, > but I do not see a good reason to support it. Users can use a new > architecture without adding CLANG_TARGET_FLAGS_*, but that would be > a rare case. > > Use the hard-coded and deterministic target triple all the time. > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> I know of one bug where the value of '--target' matters: https://github.com/ClangBuiltLinux/linux/issues/1244 This was fixed in LLVM 12.0.0. We are not testing this in our CI though, so we would not get bit by this (we could bump the minimum supported version of LLVM to 12.0.0 for this, we have talked recently about doing it for other reasons). I guess I cannot really think of a good reason not to do this aside from that; the target triple should only affect code generation, rather than tool selection (i.e., this does not take away the ability to use a custom set of binutils with clang). However, Nick is currently OOO and I would like his opinion voiced before we commit to this. Consider this a tentative: Acked-by: Nathan Chancellor <nathan@kernel.org> > --- > > scripts/Makefile.clang | 8 ++------ > 1 file changed, 2 insertions(+), 6 deletions(-) > > diff --git a/scripts/Makefile.clang b/scripts/Makefile.clang > index 70b354fa1cb4..9076cc939e87 100644 > --- a/scripts/Makefile.clang > +++ b/scripts/Makefile.clang > @@ -13,15 +13,11 @@ CLANG_TARGET_FLAGS_x86 := x86_64-linux-gnu > CLANG_TARGET_FLAGS_um := $(CLANG_TARGET_FLAGS_$(SUBARCH)) > CLANG_TARGET_FLAGS := $(CLANG_TARGET_FLAGS_$(SRCARCH)) > > -ifeq ($(CROSS_COMPILE),) > ifeq ($(CLANG_TARGET_FLAGS),) > -$(error Specify CROSS_COMPILE or add '--target=' option to scripts/Makefile.clang) > +$(error add '--target=' option to scripts/Makefile.clang) > else > CLANG_FLAGS += --target=$(CLANG_TARGET_FLAGS) > -endif # CLANG_TARGET_FLAGS > -else > -CLANG_FLAGS += --target=$(notdir $(CROSS_COMPILE:%-=%)) > -endif # CROSS_COMPILE > +endif > > ifeq ($(LLVM_IAS),0) > CLANG_FLAGS += -fno-integrated-as > -- > 2.37.2 >
On Mon, Apr 3, 2023 at 7:48 AM Nathan Chancellor <nathan@kernel.org> wrote: > > On Sun, Apr 02, 2023 at 02:01:17AM +0900, Masahiro Yamada wrote: > > The target triple is overridden by the user-supplied CROSS_COMPILE, > > but I do not see a good reason to support it. Users can use a new > > architecture without adding CLANG_TARGET_FLAGS_*, but that would be > > a rare case. > > > > Use the hard-coded and deterministic target triple all the time. > > > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> > > I know of one bug where the value of '--target' matters: > > https://github.com/ClangBuiltLinux/linux/issues/1244 > > This was fixed in LLVM 12.0.0. We are not testing this in our CI though, > so we would not get bit by this (we could bump the minimum supported > version of LLVM to 12.0.0 for this, we have talked recently about doing > it for other reasons). > > I guess I cannot really think of a good reason not to do this aside from > that; the target triple should only affect code generation, rather than > tool selection (i.e., this does not take away the ability to use a > custom set of binutils with clang). > > However, Nick is currently OOO and I would like his opinion voiced > before we commit to this. Consider this a tentative: Yeah, nothing I could think of; at this point CROSS_COMPILE is only necessary for LLVM_IAS=0 builds and s390 (since LLD lacks s390 support) IIUC. A user is more likely to adjust the --target for the host, which they can do via USERCFLAGS or USERLDFLAGS, but not for the target. I don't think the gnu vs musl for the target triple makes a difference; we might even be able to omit that part of the triple but I haven't grepped through LLVM sources to see if that would result in differences for codegen. Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> > > Acked-by: Nathan Chancellor <nathan@kernel.org> > > > --- > > > > scripts/Makefile.clang | 8 ++------ > > 1 file changed, 2 insertions(+), 6 deletions(-) > > > > diff --git a/scripts/Makefile.clang b/scripts/Makefile.clang > > index 70b354fa1cb4..9076cc939e87 100644 > > --- a/scripts/Makefile.clang > > +++ b/scripts/Makefile.clang > > @@ -13,15 +13,11 @@ CLANG_TARGET_FLAGS_x86 := x86_64-linux-gnu > > CLANG_TARGET_FLAGS_um := $(CLANG_TARGET_FLAGS_$(SUBARCH)) > > CLANG_TARGET_FLAGS := $(CLANG_TARGET_FLAGS_$(SRCARCH)) > > > > -ifeq ($(CROSS_COMPILE),) > > ifeq ($(CLANG_TARGET_FLAGS),) > > -$(error Specify CROSS_COMPILE or add '--target=' option to scripts/Makefile.clang) > > +$(error add '--target=' option to scripts/Makefile.clang) > > else > > CLANG_FLAGS += --target=$(CLANG_TARGET_FLAGS) > > -endif # CLANG_TARGET_FLAGS > > -else > > -CLANG_FLAGS += --target=$(notdir $(CROSS_COMPILE:%-=%)) > > -endif # CROSS_COMPILE > > +endif > > > > ifeq ($(LLVM_IAS),0) > > CLANG_FLAGS += -fno-integrated-as > > -- > > 2.37.2 > >
On Mon, Apr 3, 2023 at 11:48 PM Nathan Chancellor <nathan@kernel.org> wrote: > > On Sun, Apr 02, 2023 at 02:01:17AM +0900, Masahiro Yamada wrote: > > The target triple is overridden by the user-supplied CROSS_COMPILE, > > but I do not see a good reason to support it. Users can use a new > > architecture without adding CLANG_TARGET_FLAGS_*, but that would be > > a rare case. > > > > Use the hard-coded and deterministic target triple all the time. > > > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> > > I know of one bug where the value of '--target' matters: > > https://github.com/ClangBuiltLinux/linux/issues/1244 I did not look into it closely, but if we say " Using either CROSS_COMPILE=powerpc64-linux-gnu- or CROSS_COMPILE=powerpc-linux-gnu- fixes it. Using KCFLAGS=-v reveals that powerpc64le-linux-gnu-as is not getting the endianness information. ", why didn't we fix it like the following? diff --git a/scripts/Makefile.clang b/scripts/Makefile.clang index 70b354fa1cb4..8dda7dc69c93 100644 --- a/scripts/Makefile.clang +++ b/scripts/Makefile.clang @@ -6,7 +6,7 @@ CLANG_TARGET_FLAGS_arm64 := aarch64-linux-gnu CLANG_TARGET_FLAGS_hexagon := hexagon-linux-musl CLANG_TARGET_FLAGS_m68k := m68k-linux-gnu CLANG_TARGET_FLAGS_mips := mipsel-linux-gnu -CLANG_TARGET_FLAGS_powerpc := powerpc64le-linux-gnu +CLANG_TARGET_FLAGS_powerpc := powerpc64-linux-gnu CLANG_TARGET_FLAGS_riscv := riscv64-linux-gnu CLANG_TARGET_FLAGS_s390 := s390x-linux-gnu CLANG_TARGET_FLAGS_x86 := x86_64-linux-gnu We do not need to test all possible target triples. We can just use the one that is known to work. Anyway, I will apply this patch. Thanks. > > This was fixed in LLVM 12.0.0. We are not testing this in our CI though, > so we would not get bit by this (we could bump the minimum supported > version of LLVM to 12.0.0 for this, we have talked recently about doing > it for other reasons). > > I guess I cannot really think of a good reason not to do this aside from > that; the target triple should only affect code generation, rather than > tool selection (i.e., this does not take away the ability to use a > custom set of binutils with clang). > > However, Nick is currently OOO and I would like his opinion voiced > before we commit to this. Consider this a tentative: > > Acked-by: Nathan Chancellor <nathan@kernel.org> > > > --- > > > > scripts/Makefile.clang | 8 ++------ > > 1 file changed, 2 insertions(+), 6 deletions(-) > > > > diff --git a/scripts/Makefile.clang b/scripts/Makefile.clang > > index 70b354fa1cb4..9076cc939e87 100644 > > --- a/scripts/Makefile.clang > > +++ b/scripts/Makefile.clang > > @@ -13,15 +13,11 @@ CLANG_TARGET_FLAGS_x86 := x86_64-linux-gnu > > CLANG_TARGET_FLAGS_um := $(CLANG_TARGET_FLAGS_$(SUBARCH)) > > CLANG_TARGET_FLAGS := $(CLANG_TARGET_FLAGS_$(SRCARCH)) > > > > -ifeq ($(CROSS_COMPILE),) > > ifeq ($(CLANG_TARGET_FLAGS),) > > -$(error Specify CROSS_COMPILE or add '--target=' option to scripts/Makefile.clang) > > +$(error add '--target=' option to scripts/Makefile.clang) > > else > > CLANG_FLAGS += --target=$(CLANG_TARGET_FLAGS) > > -endif # CLANG_TARGET_FLAGS > > -else > > -CLANG_FLAGS += --target=$(notdir $(CROSS_COMPILE:%-=%)) > > -endif # CROSS_COMPILE > > +endif > > > > ifeq ($(LLVM_IAS),0) > > CLANG_FLAGS += -fno-integrated-as > > -- > > 2.37.2 > >
On Sun, Apr 16, 2023 at 10:02:12PM +0900, Masahiro Yamada wrote: > On Mon, Apr 3, 2023 at 11:48 PM Nathan Chancellor <nathan@kernel.org> wrote: > > > > On Sun, Apr 02, 2023 at 02:01:17AM +0900, Masahiro Yamada wrote: > > > The target triple is overridden by the user-supplied CROSS_COMPILE, > > > but I do not see a good reason to support it. Users can use a new > > > architecture without adding CLANG_TARGET_FLAGS_*, but that would be > > > a rare case. > > > > > > Use the hard-coded and deterministic target triple all the time. > > > > > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> > > > > I know of one bug where the value of '--target' matters: > > > > https://github.com/ClangBuiltLinux/linux/issues/1244 > > > I did not look into it closely, but if we say Heh, neither did I when I wrote the initial response to this patch, because that issue turns out to be entirely irrelevant for this patch :) > " > Using either CROSS_COMPILE=powerpc64-linux-gnu- or > CROSS_COMPILE=powerpc-linux-gnu- fixes it. > Using KCFLAGS=-v reveals that powerpc64le-linux-gnu-as is not getting > the endianness information. > ", why didn't we fix it like the following? It is because this already technically happens under the hood with clang. '--target=powerpc64le-linux-gnu -mbig-endian' is functionally equivalent to '--target=powerpc64-linux-gnu'. The issue is that '--target=powerpc64-linux-gnu' and '--target=powerpc-linux-gnu' were not passing along '-mbig-endian' to the assembler, so powerpc64le-linux-gnu-ld was expecting big endian object files due to '-EB' in LDFLAGS but was getting little endian object files, since the assembler's triple was little endian by default. We could work around this in the kernel by explicitly passing '-Wa,-mlittle-endian' for these older versions of clang but I do not think it is worth it, especially since it will just get removed once we no longer support clang-11, which is our next uprev. TL;DR: Patch should be fine, issue is tangential. > diff --git a/scripts/Makefile.clang b/scripts/Makefile.clang > index 70b354fa1cb4..8dda7dc69c93 100644 > --- a/scripts/Makefile.clang > +++ b/scripts/Makefile.clang > @@ -6,7 +6,7 @@ CLANG_TARGET_FLAGS_arm64 := aarch64-linux-gnu > CLANG_TARGET_FLAGS_hexagon := hexagon-linux-musl > CLANG_TARGET_FLAGS_m68k := m68k-linux-gnu > CLANG_TARGET_FLAGS_mips := mipsel-linux-gnu > -CLANG_TARGET_FLAGS_powerpc := powerpc64le-linux-gnu > +CLANG_TARGET_FLAGS_powerpc := powerpc64-linux-gnu > CLANG_TARGET_FLAGS_riscv := riscv64-linux-gnu > CLANG_TARGET_FLAGS_s390 := s390x-linux-gnu > CLANG_TARGET_FLAGS_x86 := x86_64-linux-gnu > > > > We do not need to test all possible target triples. > > > We can just use the one that is known to work. > Anyway, I will apply this patch. Thanks. > > > > > > This was fixed in LLVM 12.0.0. We are not testing this in our CI though, > > so we would not get bit by this (we could bump the minimum supported > > version of LLVM to 12.0.0 for this, we have talked recently about doing > > it for other reasons). > > > > I guess I cannot really think of a good reason not to do this aside from > > that; the target triple should only affect code generation, rather than > > tool selection (i.e., this does not take away the ability to use a > > custom set of binutils with clang). > > > > However, Nick is currently OOO and I would like his opinion voiced > > before we commit to this. Consider this a tentative: > > > > Acked-by: Nathan Chancellor <nathan@kernel.org> > > > > > --- > > > > > > scripts/Makefile.clang | 8 ++------ > > > 1 file changed, 2 insertions(+), 6 deletions(-) > > > > > > diff --git a/scripts/Makefile.clang b/scripts/Makefile.clang > > > index 70b354fa1cb4..9076cc939e87 100644 > > > --- a/scripts/Makefile.clang > > > +++ b/scripts/Makefile.clang > > > @@ -13,15 +13,11 @@ CLANG_TARGET_FLAGS_x86 := x86_64-linux-gnu > > > CLANG_TARGET_FLAGS_um := $(CLANG_TARGET_FLAGS_$(SUBARCH)) > > > CLANG_TARGET_FLAGS := $(CLANG_TARGET_FLAGS_$(SRCARCH)) > > > > > > -ifeq ($(CROSS_COMPILE),) > > > ifeq ($(CLANG_TARGET_FLAGS),) > > > -$(error Specify CROSS_COMPILE or add '--target=' option to scripts/Makefile.clang) > > > +$(error add '--target=' option to scripts/Makefile.clang) > > > else > > > CLANG_FLAGS += --target=$(CLANG_TARGET_FLAGS) > > > -endif # CLANG_TARGET_FLAGS > > > -else > > > -CLANG_FLAGS += --target=$(notdir $(CROSS_COMPILE:%-=%)) > > > -endif # CROSS_COMPILE > > > +endif > > > > > > ifeq ($(LLVM_IAS),0) > > > CLANG_FLAGS += -fno-integrated-as > > > -- > > > 2.37.2 > > > > > > > -- > Best Regards > Masahiro Yamada
diff --git a/scripts/Makefile.clang b/scripts/Makefile.clang index 70b354fa1cb4..9076cc939e87 100644 --- a/scripts/Makefile.clang +++ b/scripts/Makefile.clang @@ -13,15 +13,11 @@ CLANG_TARGET_FLAGS_x86 := x86_64-linux-gnu CLANG_TARGET_FLAGS_um := $(CLANG_TARGET_FLAGS_$(SUBARCH)) CLANG_TARGET_FLAGS := $(CLANG_TARGET_FLAGS_$(SRCARCH)) -ifeq ($(CROSS_COMPILE),) ifeq ($(CLANG_TARGET_FLAGS),) -$(error Specify CROSS_COMPILE or add '--target=' option to scripts/Makefile.clang) +$(error add '--target=' option to scripts/Makefile.clang) else CLANG_FLAGS += --target=$(CLANG_TARGET_FLAGS) -endif # CLANG_TARGET_FLAGS -else -CLANG_FLAGS += --target=$(notdir $(CROSS_COMPILE:%-=%)) -endif # CROSS_COMPILE +endif ifeq ($(LLVM_IAS),0) CLANG_FLAGS += -fno-integrated-as