All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nathan Chancellor <nathan@kernel.org>
To: Nick Desaulniers <ndesaulniers@google.com>,
	Masahiro Yamada <masahiroy@kernel.org>
Cc: Miguel Ojeda <ojeda@kernel.org>,
	Fangrui Song <maskray@google.com>,
	Michal Marek <michal.lkml@markovi.net>,
	Arnd Bergmann <arnd@kernel.org>,
	linux-kernel@vger.kernel.org, linux-kbuild@vger.kernel.org,
	clang-built-linux@googlegroups.com,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Christoph Hellwig <hch@infradead.org>,
	Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: [PATCH v6 3/3] Documentation/llvm: update CROSS_COMPILE inferencing
Date: Mon, 2 Aug 2021 12:16:21 -0700	[thread overview]
Message-ID: <95712f4c-9da5-b7b6-f617-b6b686b6eadc@kernel.org> (raw)
In-Reply-To: <20210802183910.1802120-4-ndesaulniers@google.com>

On 8/2/2021 11:39 AM, 'Nick Desaulniers' via Clang Built Linux wrote:
> As noted by Masahiro, document how we can generally infer CROSS_COMPILE
> (and the more specific details about --target and --prefix) based on
> ARCH.
> 
> Change use of env vars to command line parameters.
> 
> Suggested-by: Masahiro Yamada <masahiroy@kernel.org>
> Reviewed-by: Fangrui Song <maskray@google.com>
> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>

Thanks for the update, I think this is much easier for non-CBL folks to 
understand.

Reviewed-by: Nathan Chancellor <nathan@kernel.org>

> ---
> Changes v5 -> v6:
> * Pick up Fangrui's RB tag.
> * Change use of env vars to command line parameters for consistency.
> 
>   Documentation/kbuild/llvm.rst | 19 ++++++++++++++++++-
>   1 file changed, 18 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/kbuild/llvm.rst b/Documentation/kbuild/llvm.rst
> index b18401d2ba82..f8a360958f4c 100644
> --- a/Documentation/kbuild/llvm.rst
> +++ b/Documentation/kbuild/llvm.rst
> @@ -38,7 +38,7 @@ Cross Compiling
>   A single Clang compiler binary will typically contain all supported backends,
>   which can help simplify cross compiling. ::
>   
> -	ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make CC=clang
> +	make ARCH=arm64 CC=clang CROSS_COMPILE=aarch64-linux-gnu-
>   
>   ``CROSS_COMPILE`` is not used to prefix the Clang compiler binary, instead
>   ``CROSS_COMPILE`` is used to set a command line flag: ``--target=<triple>``. For
> @@ -63,6 +63,23 @@ They can be enabled individually. The full list of the parameters: ::
>   Currently, the integrated assembler is disabled by default. You can pass
>   ``LLVM_IAS=1`` to enable it.
>   
> +Omitting CROSS_COMPILE
> +----------------------
> +
> +As explained above, ``CROSS_COMPILE`` is used to set ``--target=<triple>``.
> +
> +Unless ``LLVM_IAS=1`` is specified, ``CROSS_COMPILE`` is also used to derive
> +``--prefix=<path>`` to search for the GNU assembler and linker.
> +
> +If ``CROSS_COMPILE`` is not specified, the ``--target=<triple>`` is inferred
> +from ``ARCH``.
> +
> +That means if you use only LLVM tools, ``CROSS_COMPILE`` becomes unnecessary.
> +
> +For example, to cross-compile the arm64 kernel::
> +
> +	make ARCH=arm64 LLVM=1 LLVM_IAS=1
> +
>   Supported Architectures
>   -----------------------
>   
> 

  reply	other threads:[~2021-08-02 19:16 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-02 18:39 [PATCH v6 0/3] infer --target from SRCARCH for CC=clang Nick Desaulniers
2021-08-02 18:39 ` [PATCH v6 1/3] Makefile: move initial clang flag handling into scripts/Makefile.clang Nick Desaulniers
2021-08-02 21:06   ` Fāng-ruì Sòng
2021-08-02 21:14     ` Nick Desaulniers
2021-08-05 12:55     ` Masahiro Yamada
2021-08-02 18:39 ` [PATCH v6 2/3] Makefile: infer --target from ARCH for CC=clang Nick Desaulniers
2021-08-05 13:58   ` Masahiro Yamada
2021-08-05 18:17   ` Miguel Ojeda
2021-08-02 18:39 ` [PATCH v6 3/3] Documentation/llvm: update CROSS_COMPILE inferencing Nick Desaulniers
2021-08-02 19:16   ` Nathan Chancellor [this message]
2021-08-05 13:57   ` Masahiro Yamada
2021-08-05 18:27     ` Nick Desaulniers
2021-08-05 18:29       ` Nick Desaulniers
2021-08-05 23:26         ` Masahiro Yamada
2021-08-10  0:05 ` [PATCH v6 0/3] infer --target from SRCARCH for CC=clang Masahiro Yamada

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=95712f4c-9da5-b7b6-f617-b6b686b6eadc@kernel.org \
    --to=nathan@kernel.org \
    --cc=arnd@kernel.org \
    --cc=clang-built-linux@googlegroups.com \
    --cc=geert@linux-m68k.org \
    --cc=hch@infradead.org \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=masahiroy@kernel.org \
    --cc=maskray@google.com \
    --cc=michal.lkml@markovi.net \
    --cc=ndesaulniers@google.com \
    --cc=ojeda@kernel.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.