Commit 0e48aaae73 for qemu.org
commit 0e48aaae735f03592a619c69f476674fd2055823
Author: Brian Cain <brian.cain@oss.qualcomm.com>
Date: Mon Jul 13 19:12:36 2026 -0700
meson: propagate qemu_ldflags to Rust link step
Sanitizer flags are added to qemu_ldflags and applied globally for
all_languages, but all_languages never includes 'rust'.
Fixes link errors like the ones below:
-Wl,-rpath,$ORIGIN/../qemu-macros:<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib"
= note: some arguments are omitted. use `--verbose` to show all linker arguments
= note: rust-lld: error: undefined symbol: __ubsan_handle_type_mismatch_v1
>>> referenced by event-loop-base.c:104 (../qemu_before_fix/event-loop-base.c:104)
>>> libevent-loop-base.a.p/event-loop-base.c.o:(event_loop_base_class_init)
>>> referenced by event-loop-base.c:105 (../qemu_before_fix/event-loop-base.c:105)
>>> libevent-loop-base.a.p/event-loop-base.c.o:(event_loop_base_class_init)
>>> referenced by event-loop-base.c:58 (../qemu_before_fix/event-loop-base.c:58)
>>> libevent-loop-base.a.p/event-loop-base.c.o:(event_loop_base_set_param)
>>> referenced 11240 more times
Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260714021236.2361604-1-brian.cain@oss.qualcomm.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
diff --git a/meson.build b/meson.build
index 164328ded8..5f42bbf40c 100644
--- a/meson.build
+++ b/meson.build
@@ -767,6 +767,9 @@ endif
add_project_arguments(cc.get_supported_arguments(qemu_common_flags + qemu_cflags + warn_flags),
native: false, language: 'c')
add_global_link_arguments(qemu_ldflags, native: false, language: all_languages)
+if have_rust
+ add_global_link_arguments(qemu_ldflags, native: false, language: 'rust')
+endif
if 'cpp' in all_languages
add_project_arguments(cxx.get_supported_arguments(qemu_common_flags + qemu_cxxflags),