2023-12-15 12:48:11

by Miguel Ojeda

[permalink] [raw]
Subject: [PATCH] docs: rust: remove `CC=clang` mentions

Nowadays all architectures except s390 recommend using `LLVM=1` instead of
`CC=clang`, and since commit a3c6bfba4429 ("Documentation/llvm: refresh
docs") the Kbuild LLVM documentation makes `LLVM=1` the way to go:

We want to encourage the use of ``LLVM=1`` rather than just
``CC=clang``. Make that suggestion "above the fold" and "front and
center" in our docs.

In particular, that commit removes the examples with `CC=clang`.

Thus do the same in the Rust Quick Start guide, i.e. remove the `CC=clang`
mentions, especially since the architectures that have had their Rust
support upstreamed (or soon to be upstreamed) are all `LLVM=1` ones
anyway. And perhaps by the time Rust is supported for s390 (or new
architectures), it may have moved to `LLVM=1` anyway. Otherwise,
this can be added back if needed (or perhaps an extra link to
Documentation/kbuild/llvm.rst).

This should also help avoiding potential confusion around `CC=clang` [1].

Link: https://lore.kernel.org/rust-for-linux/[email protected]/ [1]
Signed-off-by: Miguel Ojeda <[email protected]>
---
Documentation/rust/quick-start.rst | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/Documentation/rust/quick-start.rst b/Documentation/rust/quick-start.rst
index f382914f4191..75faa987079a 100644
--- a/Documentation/rust/quick-start.rst
+++ b/Documentation/rust/quick-start.rst
@@ -76,7 +76,7 @@ libclang

``libclang`` (part of LLVM) is used by ``bindgen`` to understand the C code
in the kernel, which means LLVM needs to be installed; like when the kernel
-is compiled with ``CC=clang`` or ``LLVM=1``.
+is compiled with ``LLVM=1``.

Linux distributions are likely to have a suitable one available, so it is
best to check that first.
@@ -229,10 +229,6 @@ at the moment. That is::

make LLVM=1

-For architectures that do not support a full LLVM toolchain, use::
-
- make CC=clang
-
Using GCC also works for some configurations, but it is very experimental at
the moment.


base-commit: a39b6ac3781d46ba18193c9dbb2110f31e9bffe9
--
2.43.0



2023-12-15 12:52:33

by Alice Ryhl

[permalink] [raw]
Subject: Re: [PATCH] docs: rust: remove `CC=clang` mentions

On Fri, Dec 15, 2023 at 1:48 PM Miguel Ojeda <[email protected]> wrote:
>
> Nowadays all architectures except s390 recommend using `LLVM=1` instead of
> `CC=clang`, and since commit a3c6bfba4429 ("Documentation/llvm: refresh
> docs") the Kbuild LLVM documentation makes `LLVM=1` the way to go:
>
> We want to encourage the use of ``LLVM=1`` rather than just
> ``CC=clang``. Make that suggestion "above the fold" and "front and
> center" in our docs.
>
> In particular, that commit removes the examples with `CC=clang`.
>
> Thus do the same in the Rust Quick Start guide, i.e. remove the `CC=clang`
> mentions, especially since the architectures that have had their Rust
> support upstreamed (or soon to be upstreamed) are all `LLVM=1` ones
> anyway. And perhaps by the time Rust is supported for s390 (or new
> architectures), it may have moved to `LLVM=1` anyway. Otherwise,
> this can be added back if needed (or perhaps an extra link to
> Documentation/kbuild/llvm.rst).
>
> This should also help avoiding potential confusion around `CC=clang` [1].
>
> Link: https://lore.kernel.org/rust-for-linux/[email protected]/ [1]
> Signed-off-by: Miguel Ojeda <[email protected]>

Reviewed-by: Alice Ryhl <[email protected]>

2023-12-15 14:28:51

by Ariel Miculas

[permalink] [raw]
Subject: Re: [PATCH] docs: rust: remove `CC=clang` mentions

On 23/12/15 01:47PM, Miguel Ojeda wrote:
> Nowadays all architectures except s390 recommend using `LLVM=1` instead of
> `CC=clang`, and since commit a3c6bfba4429 ("Documentation/llvm: refresh
> docs") the Kbuild LLVM documentation makes `LLVM=1` the way to go:
>
> We want to encourage the use of ``LLVM=1`` rather than just
> ``CC=clang``. Make that suggestion "above the fold" and "front and
> center" in our docs.
>
> In particular, that commit removes the examples with `CC=clang`.
>
> Thus do the same in the Rust Quick Start guide, i.e. remove the `CC=clang`
> mentions, especially since the architectures that have had their Rust
> support upstreamed (or soon to be upstreamed) are all `LLVM=1` ones
> anyway. And perhaps by the time Rust is supported for s390 (or new
> architectures), it may have moved to `LLVM=1` anyway. Otherwise,
> this can be added back if needed (or perhaps an extra link to
> Documentation/kbuild/llvm.rst).
>
> This should also help avoiding potential confusion around `CC=clang` [1].
>
> Link: https://lore.kernel.org/rust-for-linux/[email protected]/ [1]
> Signed-off-by: Miguel Ojeda <[email protected]>
Reviewed-by: Ariel Miculas <[email protected]>

2023-12-15 17:51:23

by John Hubbard

[permalink] [raw]
Subject: Re: [PATCH] docs: rust: remove `CC=clang` mentions

On 12/15/23 04:47, Miguel Ojeda wrote:
> Nowadays all architectures except s390 recommend using `LLVM=1` instead of
> `CC=clang`, and since commit a3c6bfba4429 ("Documentation/llvm: refresh
> docs") the Kbuild LLVM documentation makes `LLVM=1` the way to go:
>
> We want to encourage the use of ``LLVM=1`` rather than just
> ``CC=clang``. Make that suggestion "above the fold" and "front and
> center" in our docs.
>
> In particular, that commit removes the examples with `CC=clang`.
>
> Thus do the same in the Rust Quick Start guide, i.e. remove the `CC=clang`
> mentions, especially since the architectures that have had their Rust
> support upstreamed (or soon to be upstreamed) are all `LLVM=1` ones
> anyway. And perhaps by the time Rust is supported for s390 (or new
> architectures), it may have moved to `LLVM=1` anyway. Otherwise,
> this can be added back if needed (or perhaps an extra link to
> Documentation/kbuild/llvm.rst).
>
> This should also help avoiding potential confusion around `CC=clang` [1].

Yes it should. :)

Reviewed-by: John Hubbard <[email protected]>


thanks,
--
John Hubbard
NVIDIA

>
> Link: https://lore.kernel.org/rust-for-linux/[email protected]/ [1]
> Signed-off-by: Miguel Ojeda <[email protected]>
> ---
> Documentation/rust/quick-start.rst | 6 +-----
> 1 file changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/Documentation/rust/quick-start.rst b/Documentation/rust/quick-start.rst
> index f382914f4191..75faa987079a 100644
> --- a/Documentation/rust/quick-start.rst
> +++ b/Documentation/rust/quick-start.rst
> @@ -76,7 +76,7 @@ libclang
>
> ``libclang`` (part of LLVM) is used by ``bindgen`` to understand the C code
> in the kernel, which means LLVM needs to be installed; like when the kernel
> -is compiled with ``CC=clang`` or ``LLVM=1``.
> +is compiled with ``LLVM=1``.
>
> Linux distributions are likely to have a suitable one available, so it is
> best to check that first.
> @@ -229,10 +229,6 @@ at the moment. That is::
>
> make LLVM=1
>
> -For architectures that do not support a full LLVM toolchain, use::
> -
> - make CC=clang
> -
> Using GCC also works for some configurations, but it is very experimental at
> the moment.
>
>
> base-commit: a39b6ac3781d46ba18193c9dbb2110f31e9bffe9



2023-12-15 21:28:53

by Justin Stitt

[permalink] [raw]
Subject: Re: [PATCH] docs: rust: remove `CC=clang` mentions

Hi,

On Fri, Dec 15, 2023 at 4:48 AM Miguel Ojeda <[email protected]> wrote:
>
> Nowadays all architectures except s390 recommend using `LLVM=1` instead of
> `CC=clang`, and since commit a3c6bfba4429 ("Documentation/llvm: refresh
> docs") the Kbuild LLVM documentation makes `LLVM=1` the way to go:
>
> We want to encourage the use of ``LLVM=1`` rather than just
> ``CC=clang``. Make that suggestion "above the fold" and "front and
> center" in our docs.
>
> In particular, that commit removes the examples with `CC=clang`.
>
> Thus do the same in the Rust Quick Start guide, i.e. remove the `CC=clang`
> mentions, especially since the architectures that have had their Rust
> support upstreamed (or soon to be upstreamed) are all `LLVM=1` ones
> anyway. And perhaps by the time Rust is supported for s390 (or new
> architectures), it may have moved to `LLVM=1` anyway. Otherwise,
> this can be added back if needed (or perhaps an extra link to
> Documentation/kbuild/llvm.rst).
>
> This should also help avoiding potential confusion around `CC=clang` [1].
>

Yes!


> Link: https://lore.kernel.org/rust-for-linux/[email protected]/ [1]
> Signed-off-by: Miguel Ojeda <[email protected]>

Reviewed-by: Justin Stitt <[email protected]>

> ---
> Documentation/rust/quick-start.rst | 6 +-----
> 1 file changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/Documentation/rust/quick-start.rst b/Documentation/rust/quick-start.rst
> index f382914f4191..75faa987079a 100644
> --- a/Documentation/rust/quick-start.rst
> +++ b/Documentation/rust/quick-start.rst
> @@ -76,7 +76,7 @@ libclang
>
> ``libclang`` (part of LLVM) is used by ``bindgen`` to understand the C code
> in the kernel, which means LLVM needs to be installed; like when the kernel
> -is compiled with ``CC=clang`` or ``LLVM=1``.
> +is compiled with ``LLVM=1``.
>
> Linux distributions are likely to have a suitable one available, so it is
> best to check that first.
> @@ -229,10 +229,6 @@ at the moment. That is::
>
> make LLVM=1
>
> -For architectures that do not support a full LLVM toolchain, use::
> -
> - make CC=clang
> -
> Using GCC also works for some configurations, but it is very experimental at
> the moment.
>
>
> base-commit: a39b6ac3781d46ba18193c9dbb2110f31e9bffe9
> --
> 2.43.0
>

Thanks
Justin

Subject: Re: [PATCH] docs: rust: remove `CC=clang` mentions

On 12/15/23 09:47, Miguel Ojeda wrote:
> Nowadays all architectures except s390 recommend using `LLVM=1` instead of
> `CC=clang`, and since commit a3c6bfba4429 ("Documentation/llvm: refresh
> docs") the Kbuild LLVM documentation makes `LLVM=1` the way to go:
>
> We want to encourage the use of ``LLVM=1`` rather than just
> ``CC=clang``. Make that suggestion "above the fold" and "front and
> center" in our docs.
>
> In particular, that commit removes the examples with `CC=clang`.
>
> Thus do the same in the Rust Quick Start guide, i.e. remove the `CC=clang`
> mentions, especially since the architectures that have had their Rust
> support upstreamed (or soon to be upstreamed) are all `LLVM=1` ones
> anyway. And perhaps by the time Rust is supported for s390 (or new
> architectures), it may have moved to `LLVM=1` anyway. Otherwise,
> this can be added back if needed (or perhaps an extra link to
> Documentation/kbuild/llvm.rst).
>
> This should also help avoiding potential confusion around `CC=clang` [1].
>
> Link: https://lore.kernel.org/rust-for-linux/[email protected]/ [1]
> Signed-off-by: Miguel Ojeda <[email protected]>
> ---
> [...]
Reviewed-by: Martin Rodriguez Reboredo <[email protected]>

2023-12-18 16:56:13

by Nathan Chancellor

[permalink] [raw]
Subject: Re: [PATCH] docs: rust: remove `CC=clang` mentions

On Fri, Dec 15, 2023 at 01:47:51PM +0100, Miguel Ojeda wrote:
> Nowadays all architectures except s390 recommend using `LLVM=1` instead of
> `CC=clang`, and since commit a3c6bfba4429 ("Documentation/llvm: refresh
> docs") the Kbuild LLVM documentation makes `LLVM=1` the way to go:
>
> We want to encourage the use of ``LLVM=1`` rather than just
> ``CC=clang``. Make that suggestion "above the fold" and "front and
> center" in our docs.
>
> In particular, that commit removes the examples with `CC=clang`.
>
> Thus do the same in the Rust Quick Start guide, i.e. remove the `CC=clang`
> mentions, especially since the architectures that have had their Rust
> support upstreamed (or soon to be upstreamed) are all `LLVM=1` ones
> anyway. And perhaps by the time Rust is supported for s390 (or new
> architectures), it may have moved to `LLVM=1` anyway. Otherwise,
> this can be added back if needed (or perhaps an extra link to
> Documentation/kbuild/llvm.rst).
>
> This should also help avoiding potential confusion around `CC=clang` [1].
>
> Link: https://lore.kernel.org/rust-for-linux/[email protected]/ [1]
> Signed-off-by: Miguel Ojeda <[email protected]>

Yes, the fact that no architecture that CONFIG_RUST supports requires
CC=clang seems reason enough for this to be eliminated from the Rust
documentation.

Reviewed-by: Nathan Chancellor <[email protected]>

> ---
> Documentation/rust/quick-start.rst | 6 +-----
> 1 file changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/Documentation/rust/quick-start.rst b/Documentation/rust/quick-start.rst
> index f382914f4191..75faa987079a 100644
> --- a/Documentation/rust/quick-start.rst
> +++ b/Documentation/rust/quick-start.rst
> @@ -76,7 +76,7 @@ libclang
>
> ``libclang`` (part of LLVM) is used by ``bindgen`` to understand the C code
> in the kernel, which means LLVM needs to be installed; like when the kernel
> -is compiled with ``CC=clang`` or ``LLVM=1``.
> +is compiled with ``LLVM=1``.
>
> Linux distributions are likely to have a suitable one available, so it is
> best to check that first.
> @@ -229,10 +229,6 @@ at the moment. That is::
>
> make LLVM=1
>
> -For architectures that do not support a full LLVM toolchain, use::
> -
> - make CC=clang
> -
> Using GCC also works for some configurations, but it is very experimental at
> the moment.
>
>
> base-commit: a39b6ac3781d46ba18193c9dbb2110f31e9bffe9
> --
> 2.43.0
>

2023-12-18 17:07:05

by Benno Lossin

[permalink] [raw]
Subject: Re: [PATCH] docs: rust: remove `CC=clang` mentions

On 12/15/23 13:47, Miguel Ojeda wrote:
> Nowadays all architectures except s390 recommend using `LLVM=1` instead of
> `CC=clang`, and since commit a3c6bfba4429 ("Documentation/llvm: refresh
> docs") the Kbuild LLVM documentation makes `LLVM=1` the way to go:
>
> We want to encourage the use of ``LLVM=1`` rather than just
> ``CC=clang``. Make that suggestion "above the fold" and "front and
> center" in our docs.
>
> In particular, that commit removes the examples with `CC=clang`.
>
> Thus do the same in the Rust Quick Start guide, i.e. remove the `CC=clang`
> mentions, especially since the architectures that have had their Rust
> support upstreamed (or soon to be upstreamed) are all `LLVM=1` ones
> anyway. And perhaps by the time Rust is supported for s390 (or new
> architectures), it may have moved to `LLVM=1` anyway. Otherwise,
> this can be added back if needed (or perhaps an extra link to
> Documentation/kbuild/llvm.rst).
>
> This should also help avoiding potential confusion around `CC=clang` [1].
>
> Link: https://lore.kernel.org/rust-for-linux/[email protected]/ [1]
> Signed-off-by: Miguel Ojeda <[email protected]>

Reviewed-by: Benno Lossin <[email protected]>

--
Cheers,
Benno


2023-12-21 21:42:52

by Miguel Ojeda

[permalink] [raw]
Subject: Re: [PATCH] docs: rust: remove `CC=clang` mentions

On Fri, Dec 15, 2023 at 1:48 PM Miguel Ojeda <[email protected]> wrote:
>
> Nowadays all architectures except s390 recommend using `LLVM=1` instead of
> `CC=clang`, and since commit a3c6bfba4429 ("Documentation/llvm: refresh
> docs") the Kbuild LLVM documentation makes `LLVM=1` the way to go:
>
> We want to encourage the use of ``LLVM=1`` rather than just
> ``CC=clang``. Make that suggestion "above the fold" and "front and
> center" in our docs.
>
> In particular, that commit removes the examples with `CC=clang`.
>
> Thus do the same in the Rust Quick Start guide, i.e. remove the `CC=clang`
> mentions, especially since the architectures that have had their Rust
> support upstreamed (or soon to be upstreamed) are all `LLVM=1` ones
> anyway. And perhaps by the time Rust is supported for s390 (or new
> architectures), it may have moved to `LLVM=1` anyway. Otherwise,
> this can be added back if needed (or perhaps an extra link to
> Documentation/kbuild/llvm.rst).
>
> This should also help avoiding potential confusion around `CC=clang` [1].
>
> Link: https://lore.kernel.org/rust-for-linux/[email protected]/ [1]
> Signed-off-by: Miguel Ojeda <[email protected]>

Applied to `rust-next` -- thanks everyone!

Cheers,
Miguel