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
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]>
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]>
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
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
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]>
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
>
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
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