On Tue, 16 Mar 2021 14:59:07 +0100 Markus Armbruster wrote: > util/yank.c and stubs/yank.c are both in libqemuutil.a, even though > their external symbols conflict. The linker happens to pick the > former. This links a bunch of unneeded code into the executables that > actually want the latter: qemu-io, qemu-img, qemu-nbd, and several > tests. Amazingly, none of them fails to link. > > To fix this, the non-stub yank.c from sourceset util_ss to sourceset > qmp_ss. This requires moving it from util/ to monitor/. > > Suggested-by: Paolo Bonzini > Signed-off-by: Markus Armbruster > --- > {util => monitor}/yank.c | 0 > MAINTAINERS | 2 +- > monitor/meson.build | 1 + > util/meson.build | 1 - > 4 files changed, 2 insertions(+), 2 deletions(-) > rename {util => monitor}/yank.c (100%) > > diff --git a/util/yank.c b/monitor/yank.c > similarity index 100% > rename from util/yank.c > rename to monitor/yank.c > diff --git a/MAINTAINERS b/MAINTAINERS > index 5ca3c9f851..d3174c0bb0 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -2799,7 +2799,7 @@ F: tests/unit/test-uuid.c > Yank feature > M: Lukas Straub > S: Odd fixes > -F: util/yank.c > +F: monitor/yank.c > F: stubs/yank.c > F: include/qemu/yank.h > F: qapi/yank.json > diff --git a/monitor/meson.build b/monitor/meson.build > index 6d00985ace..1ce5909c88 100644 > --- a/monitor/meson.build > +++ b/monitor/meson.build > @@ -1,4 +1,5 @@ > qmp_ss.add(files('monitor.c', 'qmp.c', 'qmp-cmds-control.c')) > +qmp_ss.add(files('yank.c')) > > softmmu_ss.add(files( > 'hmp-cmds.c', > diff --git a/util/meson.build b/util/meson.build > index 984fba965f..fa0298adab 100644 > --- a/util/meson.build > +++ b/util/meson.build > @@ -51,7 +51,6 @@ endif > if have_system > util_ss.add(files('crc-ccitt.c')) > util_ss.add(when: 'CONFIG_GIO', if_true: [files('dbus.c'), gio]) > - util_ss.add(files('yank.c')) > util_ss.add(when: 'CONFIG_LINUX', if_true: files('userfaultfd.c')) > endif > Looks good to me, applied and fixed commit message. Regards, Lukas Straub --