commit 76b420d0037fa77933ed51f51f38a8ce9503f3e1 Author: Jim Fehlig Date: Wed May 29 11:28:33 2019 -0600 build: fix linking libqemutestdriver with LTO enabled openSUSE Factory is in the process of enabling Link Time Optimization [0] and stumbled upon missing symbols when linking libqemutestdriver libtool: link: gcc -shared -fPIC -DPIC ../src/libvirt_qemu_probes.o \ -Wl,--whole-archive ../src/.libs/libvirt_driver_qemu_impl.a \ ../src/.libs/libvirt_driver_network_impl.a \ ../src/.libs/libvirt_driver_storage_impl.a -Wl,--no-whole-archive \ -lcap-ng -lgnutls -lnl-route-3 -lnl-3 -ldbus-1 -lselinux -lapparmor \ /usr/lib/libxml2.so -ldl -lz -llzma -lm -lblkid -ltirpc \ -fstack-protector-strong -O2 -fstack-protector-strong -flto=16 -g -O2 \ -fstack-protector-strong -flto=16 -g \ -Wl,-soname -Wl,libqemutestdriver.so -o .libs/libqemutestdriver.so ... /usr/lib/gcc/i586-suse-linux/9/../../../../i586-suse-linux/bin/ld: ./.libs/libqemutestdriver.so: undefined reference to `mdir_name' /usr/lib/gcc/i586-suse-linux/9/../../../../i586-suse-linux/bin/ld: ./.libs/libqemutestdriver.so: undefined reference to `rpl_ioctl' /usr/lib/gcc/i586-suse-linux/9/../../../../i586-suse-linux/bin/ld: ./.libs/libqemutestdriver.so: undefined reference to `rpl_pipe2' /usr/lib/gcc/i586-suse-linux/9/../../../../i586-suse-linux/bin/ld: ./.libs/libqemutestdriver.so: undefined reference to `recvfd' /usr/lib/gcc/i586-suse-linux/9/../../../../i586-suse-linux/bin/ld: ./.libs/libqemutestdriver.so: undefined reference to `c_strcasecmp' The missing symbols are provided by GNUlib. Add it when linking libqemutestdriver. [0] https://en.opensuse.org/openSUSE:LTO Signed-off-by: Jim Fehlig Acked-by: Michal Privoznik Index: libvirt-5.3.0/tests/Makefile.am =================================================================== --- libvirt-5.3.0.orig/tests/Makefile.am +++ libvirt-5.3.0/tests/Makefile.am @@ -557,7 +557,7 @@ endif WITH_DTRACE_PROBES libqemutestdriver_la_SOURCES = libqemutestdriver_la_LDFLAGS = $(DRIVERLIB_LDFLAGS) -libqemutestdriver_la_LIBADD = $(qemu_LDADDS) +libqemutestdriver_la_LIBADD = $(qemu_LDADDS) $(LDADDS) qemucpumock_la_SOURCES = \ qemucpumock.c testutilshostcpus.h