@samitouri / QOSamiQemu / commits / 0e48aaae73

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>

Brian Cain committed Jul 13, 2026 at 19:12 UTC 0e48aaae735f03592a619c69f476674fd2055823
1 file changed +3
meson.build
+3
@@ -767,6 +767,9 @@ endif
767 add_project_arguments(cc.get_supported_arguments(qemu_common_flags + qemu_cflags + warn_flags),
768 native: false, language: 'c')
769 add_global_link_arguments(qemu_ldflags, native: false, language: all_languages)
770 +if have_rust
771 + add_global_link_arguments(qemu_ldflags, native: false, language: 'rust')
772 +endif
773
774 if 'cpp' in all_languages
775 add_project_arguments(cxx.get_supported_arguments(qemu_common_flags + qemu_cxxflags),