Skip to content

Commit ddcdf90

Browse files
jannauhoshinolina
authored andcommitted
rust: Replace -fmin-function-alignment with -falign-functions for bindgen
Commit 5270316 ("kbuild: Use -fmin-function-alignment when available") introduces `-fmin-function-alignment` if supported to remove a workaround for gcc not respecting `-falign-functions` for cold functions. bindgen does not recognize `-fmin-function-alignment` but `-falign-functions` is sufficient as long as bindgen is LLVM backed. See c27cd08 ("Compiler attributes: GCC cold function alignment workarounds"). So replace `-fmin-function-alignment` with `-falign-functions` for bindgen's C flags. Fixes: 5270316 ("kbuild: Use -fmin-function-alignment when available") Signed-off-by: Janne Grunau <j@jannau.net>
1 parent a6e76cb commit ddcdf90

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

rust/Makefile

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,13 @@ else
328328
bindgen_c_flags_lto = $(bindgen_c_flags)
329329
endif
330330

331-
bindgen_c_flags_final = $(bindgen_c_flags_lto) -D__BINDGEN__
331+
# replace '-fmin-function-alignment' with '-falign-functions'. LLVM does not
332+
# ignore the latter in cold functions. See:
333+
# 5270316c9fec ("kbuild: Use -fmin-function-alignment when available")
334+
# c27cd083cfb9 ("Compiler attributes: GCC cold function alignment workarounds")
335+
bindgen_c_flags_align = $(subst -fmin-function-alignment=,-falign-functions=,$(bindgen_c_flags_lto))
336+
337+
bindgen_c_flags_final = $(bindgen_c_flags_align) -D__BINDGEN__
332338

333339
quiet_cmd_bindgen = BINDGEN $@
334340
cmd_bindgen = \

0 commit comments

Comments
 (0)