rust-for-linux.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Conor Dooley <conor.dooley@microchip.com>
To: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
Cc: linux-riscv@lists.infradead.org, conor@kernel.org,
	"Miguel Ojeda" <ojeda@kernel.org>,
	"Alex Gaynor" <alex.gaynor@gmail.com>,
	"Wedson Almeida Filho" <wedsonaf@gmail.com>,
	"Boqun Feng" <boqun.feng@gmail.com>,
	"Gary Guo" <gary@garyguo.net>,
	"Björn Roy Baron" <bjorn3_gh@protonmail.com>,
	"Jonathan Corbet" <corbet@lwn.net>,
	"Paul Walmsley" <paul.walmsley@sifive.com>,
	"Palmer Dabbelt" <palmer@dabbelt.com>,
	"Nathan Chancellor" <nathan@kernel.org>,
	"Nick Desaulniers" <ndesaulniers@google.com>,
	"Tom Rix" <trix@redhat.com>,
	rust-for-linux@vger.kernel.org, linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org, llvm@lists.linux.dev
Subject: Re: [PATCH v1 0/2] RISC-V: enable rust
Date: Thu, 30 Mar 2023 10:11:53 +0100	[thread overview]
Message-ID: <b5fba6b3-177c-4325-905a-8f9f633a592a@spud> (raw)
In-Reply-To: <a6220e52-9934-422b-9b05-95705b8fd684@spud>

[-- Attachment #1: Type: text/plain, Size: 2037 bytes --]

On Thu, Mar 30, 2023 at 09:23:45AM +0100, Conor Dooley wrote:
> On Tue, Mar 07, 2023 at 12:07:29PM +0100, Miguel Ojeda wrote:

> > By the way, like for the Arm patch set, if you end up doing a v2,
> > could you please add the `BINDGEN_TARGET_*` in `rust/Makefile` (GCC
> > builds are really experimental, but since they are there anyway, it is
> > best to be consistent and add it).

Hmm, so I came across this commit while looking at that:
https://github.com/Rust-for-Linux/linux/commit/cfc17fed52b9585e2f19e2381bfb7094561b8027a
(rust: bindgen: ignore RISC-V extensions for GCC builds)

I don't want to add even more workarounds for this sort of thing,
especially as in this case it is outside of arch/riscv.
The extension stuff when mixing compilers is such a massive pain & given
this one requires Rust it's even less likely to be tested when someone
comes along and adds some additional extension support that appears in
-march :(

I'd rather do this in the RISC-V Makefile so that it does not get
forgotten.

If my understanding of bindgen is correct, we don't actually need to be
honest to it about what extensions the rest of the kernel is compiled
with, only make sure that it is not called with arguments it does not
understand?

| bindgen_c_flags_patsubst1 = $(patsubst -march=rv%_zicbom,-march=rv%,$(bindgen_c_flags_patsubst2))

This one is no longer needed as of 9a5c09dd9701 ("Merge patch series
"Remove toolchain dependencies for Zicbom"").

| bindgen_c_flags_patsubst  = $(patsubst -march=rv%_zicsr_zifencei,-march=rv%,$(bindgen_c_flags_patsubst1))

Oh and clang-17 is going to support both of these, and Nathan and I
already spent a bunch of time fixing the fallout from that!
It still functions correctly without having them passed, but I have
heard requiring these may become the default at some point too.
What's done here may end up needing to be dynamic, but that bridge can be
crossed if/when we come to it.

What version of GCC do I need to replicate this? I can build tip-of-tree
gcc if needs be.

Cheers,
Conor.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

  reply	other threads:[~2023-03-30  9:12 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-07 10:24 [PATCH v1 0/2] RISC-V: enable rust Conor Dooley
2023-03-07 10:24 ` [PATCH v1 1/2] scripts: generate_rust_target: enable building on RISC-V Conor Dooley
2023-03-07 11:21   ` Miguel Ojeda
2023-03-07 10:24 ` [PATCH v1 2/2] RISC-V: enable building 64-bit kernels with rust support Conor Dooley
2023-03-07 10:56   ` Miguel Ojeda
2023-03-07 11:01     ` Conor Dooley
2023-03-07 11:56       ` Miguel Ojeda
2023-03-07 12:51         ` Conor Dooley
2023-03-07 11:07 ` [PATCH v1 0/2] RISC-V: enable rust Miguel Ojeda
2023-03-30  8:23   ` Conor Dooley
2023-03-30  9:11     ` Conor Dooley [this message]
2023-04-03 16:35       ` Miguel Ojeda
2023-04-03 17:14         ` Conor Dooley
2023-04-05 21:18           ` Conor Dooley
2023-04-03 16:32     ` Miguel Ojeda
2023-06-08  7:01 ` Conor Dooley
2023-06-08  7:10   ` Conor Dooley
2023-06-08  7:50   ` Kwanghoon Son
2023-06-08 11:52   ` Miguel Ojeda
2023-06-08 12:28     ` Conor Dooley
2024-01-17 11:30       ` Conor Dooley
2024-01-17 18:23         ` Miguel Ojeda
2024-01-18 15:49           ` Conor Dooley
2024-01-18 16:09             ` Miguel Ojeda
2024-01-25 12:30               ` Conor Dooley
2024-01-25 12:50                 ` Miguel Ojeda
2024-01-25 13:45                   ` Conor Dooley
2024-01-26 21:00                     ` Miguel Ojeda
2024-01-26 22:00                       ` Conor Dooley
2024-01-27 13:46                         ` Miguel Ojeda
2024-02-09 15:18                           ` Conor Dooley
2024-02-10  8:13                             ` Trevor Gross
2024-02-12 19:03                               ` Ramon de C Valle
2024-02-12 20:36                                 ` Sami Tolvanen
2024-02-13 20:08                                   ` Ramon de C Valle
2024-02-14  3:14                                     ` Trevor Gross
     [not found]                               ` <CAOcBZORDaHHH3jTL3GO7OsDubhhyQE0Uy2uAjJpiRzrKBgqaOw@mail.gmail.com>
2024-02-12 19:11                                 ` Miguel Ojeda
2024-02-12 20:17                                   ` Conor Dooley
2024-02-12 20:37                                     ` Conor Dooley
2024-02-13 20:09                                       ` Ramon de C Valle

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=b5fba6b3-177c-4325-905a-8f9f633a592a@spud \
    --to=conor.dooley@microchip.com \
    --cc=alex.gaynor@gmail.com \
    --cc=bjorn3_gh@protonmail.com \
    --cc=boqun.feng@gmail.com \
    --cc=conor@kernel.org \
    --cc=corbet@lwn.net \
    --cc=gary@garyguo.net \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=llvm@lists.linux.dev \
    --cc=miguel.ojeda.sandonis@gmail.com \
    --cc=nathan@kernel.org \
    --cc=ndesaulniers@google.com \
    --cc=ojeda@kernel.org \
    --cc=palmer@dabbelt.com \
    --cc=paul.walmsley@sifive.com \
    --cc=rust-for-linux@vger.kernel.org \
    --cc=trix@redhat.com \
    --cc=wedsonaf@gmail.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).