The commit fccb744f41c6 ("gdbstub: Try unlinking the unix socket before
binding") causes the compilation of rust-qemu-api-integration to fail,
because rust-qemu-api-integration uses link_whole which meets the
duplicate symbol linker error.
Though it's not the issue of link_whole used by Rust side, there's no
need to use link_whole.
Use link_with, which may also bring some benefits, such as faster
linking or smaller output files.
rust_devices_ss.add(when: 'CONFIG_X_PL011_RUST', if_true: [declare_dependency(
- link_whole: [_libpl011_rs],
+ link_with: [_libpl011_rs],
# Putting proc macro crates in `dependencies` is necessary for Meson to find
# them when compiling the root per-target static rust lib.
dependencies: [bilge_impl_dep, qemu_api_macros],
diff --git a/rust/hw/timer/hpet/meson.build b/rust/hw/timer/hpet/meson.build
index c2d7c0532ca4..ce90cc4f021a 100644
--- a/rust/hw/timer/hpet/meson.build
+++ b/rust/hw/timer/hpet/meson.build
@@ -10,7 +10,7 @@ _libhpet_rs = static_library(
)
rust_devices_ss.add(when: 'CONFIG_X_HPET_RUST', if_true: [declare_dependency(
- link_whole: [_libhpet_rs],
+ link_with: [_libhpet_rs],
# Putting proc macro crates in `dependencies` is necessary for Meson to find
# them when compiling the root per-target static rust lib.
dependencies: [qemu_api_macros],
diff --git a/rust/qemu-api/meson.build b/rust/qemu-api/meson.build
index 2e9c1078b9b2..e825671b694b 100644
--- a/rust/qemu-api/meson.build
+++ b/rust/qemu-api/meson.build
@@ -63,7 +63,7 @@ test('rust-qemu-api-integration',
rust_args: ['--test'],
install: false,
dependencies: [qemu_api, qemu_api_macros],
- link_whole: [rust_qemu_api_objs, libqemuutil]),
+ link_with: [rust_qemu_api_objs, libqemuutil]),
args: [
'--test', '--test-threads', '1',
'--format', 'pretty',