]> xenbits.xensource.com Git - libvirt.git/commitdiff
build: fix linking with systemtap probes
authorEric Blake <eblake@redhat.com>
Mon, 29 Oct 2012 20:17:03 +0000 (14:17 -0600)
committerEric Blake <eblake@redhat.com>
Mon, 29 Oct 2012 20:22:28 +0000 (14:22 -0600)
Commit 34e8f63a3 altered virfile.o to drag in additional symbols,
which in turn led to pulling in other .o files and eventually causing
a link failure when systemtap probes are enabled, such as:

./.libs/libvirt_util.a(libvirt_util_la-event_poll.o): In function `virEventPollRunOnce':
/home/dummy/libvirt/src/util/event_poll.c:614: undefined reference to `libvirt_event_poll_run_semaphore'
./.libs/libvirt_util.a(libvirt_util_la-event_poll.o):(.note.stapsdt+0x24): undefined reference to `libvirt_event_poll_add_handle_semaphore'

Even though libvirt_iohelper and libvirt_parthelper don't directly
use the portion of virfile.o that drags in probing, it was easier
to satisfy the linker and get the build back up, than to figure out
whether it is even possible or worth trying to disentangle the mess.

* src/Makefile.am (libvirt_iohelper_LDADD)
(libvirt_parthelper_LDADD): Use libvirt_probes.lo when needed.

src/Makefile.am

index 187663f218755dac22c35bc10dfef88869d01875..1f32263bdda2a2c35b5d9532051e0bb9a33c1648 100644 (file)
@@ -1631,6 +1631,9 @@ libvirt_iohelper_LDFLAGS = $(WARN_LDFLAGS) $(AM_LDFLAGS)
 libvirt_iohelper_LDADD =               \
                libvirt_util.la         \
                ../gnulib/lib/libgnu.la
+if WITH_DTRACE_PROBES
+libvirt_iohelper_LDADD += libvirt_probes.lo
+endif
 
 libvirt_iohelper_CFLAGS = $(AM_CFLAGS)
 endif
@@ -1645,6 +1648,9 @@ libvirt_parthelper_LDADD =                \
                $(LIBPARTED_LIBS)       \
                libvirt_util.la         \
                ../gnulib/lib/libgnu.la
+if WITH_DTRACE_PROBES
+libvirt_parthelper_LDADD += libvirt_probes.lo
+endif
 
 libvirt_parthelper_CFLAGS = $(LIBPARTED_CFLAGS) $(AM_CFLAGS)
 endif