meson: Add static glib dependency for initrd-stress.img
commitdb01d85f168b19a48e5112cb02cda37014719c3e
authorFabiano Rosas <farosas@suse.de>
Thu, 25 May 2023 21:20:44 +0000 (25 18:20 -0300)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 26 May 2023 10:34:17 +0000 (26 12:34 +0200)
treeb39194bed13b17783fb7908ddf70a00725684ba0
parentbac1bc848bb5ab7b020975d161a4043cabcbb8f9
meson: Add static glib dependency for initrd-stress.img

We recently moved glib detection code to meson but this changes the
linker command line from -lglib-2.0 to using a path to libglib-2.0.so.
This does not work for static linking, which is used by stress.c:

 $ make V=1 tests/migration/initrd-stress.img
 cc -m64 -mcx16 -o tests/migration/stress ... -static -Wl,--start-group
 /usr/lib64/libglib-2.0.so -Wl,--end-group
 ...
 bin/ld: attempted static link of dynamic object `/usr/lib64/libglib-2.0.so'

Add a specific dependency for stress.c, which is linked statically.
The compiler command line is now:

 cc -m64 -mcx16 -o tests/migration/stress ... -static -pthread
 -Wl,--start-group -lm /usr/lib64/libpcre.a -lglib-2.0 -Wl,--end-group

Fixes: fc9a809e0d ("build: move glib detection and workarounds to meson")
Signed-off-by: Fabiano Rosas <farosas@suse.de>
Message-Id: <20230525212044.30222-3-farosas@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
tests/migration/meson.build