[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240807115708.394a8eb3@eugeo>
Date: Wed, 7 Aug 2024 11:57:08 +0100
From: Gary Guo <gary@...yguo.net>
To: Zehui Xu <zehuixu@....edu.cn>
Cc: ojeda@...nel.org, alex.gaynor@...il.com, wedsonaf@...il.com,
boqun.feng@...il.com, bjorn3_gh@...tonmail.com, benno.lossin@...ton.me,
a.hindborg@...sung.com, aliceryhl@...gle.com,
rust-for-linux@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3] rust: Kbuild: Skip -fmin-function-alignment in
bindgen flags
On Wed, 31 Jul 2024 16:43:46 +0300
Zehui Xu <zehuixu@....edu.cn> wrote:
> GCC 14 recently added -fmin-function-alignment option and the
> root Makefile uses it to replace -falign-functions when available.
> However, this flag can cause issues when passed to the Rust
> Makefile and affect the bindgen process. Bindgen relies on
> libclang to parse C code, and currently does not support the
> -fmin-function-alignment flag, leading to compilation failures
> when GCC 14 is used.
>
> This patch addresses the issue by adding -fmin-function-alignment
> to the bindgen_skip_c_flags in rust/Makefile. This prevents the
> flag from causing compilation issues.
This patch itself looks fine to me, so
Reviewed-by: Gary Guo <gary@...yguo.net>
We use -fmin-function-alignment for GCC and use -falign-functions for
clang. These options affect codegen only so it's fine to ignore them
for bindgen.
Although it appears to me that we currently don't set function
alignments for Rust codegen. Maybe that's worth considering adding?
- Gary
>
> Link: https://lore.kernel.org/linux-kbuild/20240222133500.16991-1-petr.pavlu@suse.com/
> Signed-off-by: Zehui Xu <zehuixu@....edu.cn>
> ---
> Since -falign-functions does not affect bindgen output, we do not
> need logic to add it back to the flags. Thanks to the community's
> help, especially Miguel Ojeda. Hope this patch is free of problems
> and can be submitted smoothly : )
>
> v1:
> * https://lore.kernel.org/all/20240730222053.37066-1-zehuixu@whu.edu.cn/
>
> v2:
> * Added -falign-functions to bindgen_extra_c_flags when skipping
> -fmin-function-alignment to maintain function alignment settings in GCC 14
> * Used reasonable length and moved email content out of the commit message
> * Used "Link" tag instead of "Reference:" and removed empty lines between tags
> * Specified the base commit
> * https://lore.kernel.org/all/20240731034112.6060-1-zehuixu@whu.edu.cn/
>
> v3:
> * Removed logic from patch v2 which adds -falign-functions
>
> rust/Makefile | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
Powered by blists - more mailing lists