]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
rust: pass correct target to bindgen on Usermode Linux
authorThomas Weißschuh <linux@weissschuh.net>
Sat, 8 Feb 2025 13:31:14 +0000 (14:31 +0100)
committerMiguel Ojeda <ojeda@kernel.org>
Wed, 19 Mar 2025 22:18:34 +0000 (23:18 +0100)
Usermode Linux uses "um" as primary architecture name and the underlying
physical architecture is provided in "SUBARCH".

Resolve the target architecture flags through that underlying
architecture.

This is the same pattern as used by scripts/Makefile.clang from which
the bindgen flags are derived.

[ David says:

      (...) this is enough to get Rust-for-Linux working with gcc under
      64-bit UML on my system.

    - Miguel ]

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Reviewed-by: David Gow <davidgow@googl.ecom>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Link: https://lore.kernel.org/r/20250208-rust-kunit-v1-1-94a026be6d72@weissschuh.net
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
rust/Makefile

index e761a8cc3bd5f734989306f22b57dbaef84e8aa7..b9cc810764e9e5d480829ae728a151269005e713 100644 (file)
@@ -274,6 +274,7 @@ bindgen_skip_c_flags := -mno-fp-ret-in-387 -mpreferred-stack-boundary=% \
 # Derived from `scripts/Makefile.clang`.
 BINDGEN_TARGET_x86     := x86_64-linux-gnu
 BINDGEN_TARGET_arm64   := aarch64-linux-gnu
+BINDGEN_TARGET_um      := $(BINDGEN_TARGET_$(SUBARCH))
 BINDGEN_TARGET         := $(BINDGEN_TARGET_$(SRCARCH))
 
 # All warnings are inhibited since GCC builds are very experimental,