rust-for-linux.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3] rust: Kbuild: Skip -fmin-function-alignment in bindgen flags
@ 2024-07-31 13:43 Zehui Xu
  2024-08-01  9:45 ` Alice Ryhl
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Zehui Xu @ 2024-07-31 13:43 UTC (permalink / raw)
  To: ojeda, alex.gaynor, wedsonaf
  Cc: boqun.feng, gary, bjorn3_gh, benno.lossin, a.hindborg, aliceryhl,
	rust-for-linux, linux-kernel, zehuixu

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@whu.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
-- 
2.45.2


^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2024-08-13 17:01 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-31 13:43 [PATCH v3] rust: Kbuild: Skip -fmin-function-alignment in bindgen flags Zehui Xu
2024-08-01  9:45 ` Alice Ryhl
2024-08-07  7:52 ` Neal Gompa
2024-08-08  7:37   ` Neal Gompa
2024-08-09 22:06     ` Miguel Ojeda
2024-08-07 10:57 ` Gary Guo
2024-08-08 15:07   ` Miguel Ojeda
2024-08-13 17:01     ` Gary Guo
2024-08-09 22:10 ` Miguel Ojeda

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).