summaryrefslogtreecommitdiff
path: root/rust/Makefile
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2024-12-20 15:31:19 +0100
committerPeter Zijlstra <peterz@infradead.org>2024-12-20 15:31:19 +0100
commitc2db11a750fb626d0d04f2dc76e548a1f07617df (patch)
tree01c899b2a06855633ae991f2064242f976987809 /rust/Makefile
parent63a48181fbcddefe5fb4c6618938bb64c543945b (diff)
parent4a077914578183ec397ad09f7156a357e00e5d72 (diff)
downloadlwn-c2db11a750fb626d0d04f2dc76e548a1f07617df.tar.gz
lwn-c2db11a750fb626d0d04f2dc76e548a1f07617df.zip
Merge branch 'locking/urgent'
Sync with urgent -- avoid conflicts. Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Diffstat (limited to 'rust/Makefile')
-rw-r--r--rust/Makefile15
1 files changed, 14 insertions, 1 deletions
diff --git a/rust/Makefile b/rust/Makefile
index 9da9042fd627..a40a3936126d 100644
--- a/rust/Makefile
+++ b/rust/Makefile
@@ -280,9 +280,22 @@ endif
# architecture instead of generating `usize`.
bindgen_c_flags_final = $(bindgen_c_flags_lto) -fno-builtin -D__BINDGEN__
+# Each `bindgen` release may upgrade the list of Rust target versions. By
+# default, the highest stable release in their list is used. Thus we need to set
+# a `--rust-target` to avoid future `bindgen` releases emitting code that
+# `rustc` may not understand. On top of that, `bindgen` does not support passing
+# an unknown Rust target version.
+#
+# Therefore, the Rust target for `bindgen` can be only as high as the minimum
+# Rust version the kernel supports and only as high as the greatest stable Rust
+# target supported by the minimum `bindgen` version the kernel supports (that
+# is, if we do not test the actual `rustc`/`bindgen` versions running).
+#
+# Starting with `bindgen` 0.71.0, we will be able to set any future Rust version
+# instead, i.e. we will be able to set here our minimum supported Rust version.
quiet_cmd_bindgen = BINDGEN $@
cmd_bindgen = \
- $(BINDGEN) $< $(bindgen_target_flags) \
+ $(BINDGEN) $< $(bindgen_target_flags) --rust-target 1.68 \
--use-core --with-derive-default --ctypes-prefix ffi --no-layout-tests \
--no-debug '.*' --enable-function-attribute-detection \
-o $@ -- $(bindgen_c_flags_final) -DMODULE \