[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3695674.9o76ZdvQCi@skuld-framework>
Date: Wed, 07 Aug 2024 03:52:20 -0400
From: Neal Gompa <neal@...pa.dev>
To: ojeda@...nel.org, alex.gaynor@...il.com, wedsonaf@...il.com,
Zehui Xu <zehuixu@....edu.cn>
Cc: boqun.feng@...il.com, gary@...yguo.net, 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,
zehuixu@....edu.cn
Subject:
Re: [PATCH v3] rust: Kbuild: Skip -fmin-function-alignment in bindgen flags
On Wednesday, July 31, 2024 9:43:46 AM EDT Zehui Xu 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.
>
> 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(-)
>
> diff --git a/rust/Makefile b/rust/Makefile
> index 1f10f92737f2..0c8736cce64f 100644
> --- a/rust/Makefile
> +++ b/rust/Makefile
> @@ -227,7 +227,7 @@ bindgen_skip_c_flags := -mno-fp-ret-in-387
> -mpreferred-stack-boundary=% \ -fno-reorder-blocks
> -fno-allow-store-data-races -fasan-shadow-offset=% \
> -fzero-call-used-regs=% -fno-stack-clash-protection \
> -fno-inline-functions-called-once -fsanitize=bounds-strict \
> - -fstrict-flex-arrays=% \
> + -fstrict-flex-arrays=% -fmin-function-alignment=% \
> --param=% --param asan-%
>
> # Derived from `scripts/Makefile.clang`.
>
> base-commit: 8400291e289ee6b2bf9779ff1c83a291501f017b
Looks good to me.
Reviewed-by: Neal Gompa <neal@...pa.dev>
--
真実はいつも一つ!/ Always, there's only one truth!
Powered by blists - more mailing lists