[libvirt] [PATCH v2] src: don't statically link code that's already in libvirt.so

Daniel P. Berrangé berrange at redhat.com
Fri May 17 10:15:48 UTC 2019


Various binaries are statically linking to libvirt_util.la and
other intermediate libraries we build. These intermediate libs
all get built into the main libvirt.so shared library eventually,
so we can dynamically link to that instead and reduce the on disk
footprint.

In libvirt-daemon RPM:

            virtlockd: 1.6 MB -> 153 KB
             virtlogd: 1.6 MB -> 157 KB
     libvirt_iohelper: 937 KB -> 23 KB

In libvirt-daemon-driver-network RPM:

 libvirt_leaseshelper: 940 KB -> 26 KB

In libvirt-daemon-driver-storage-core RPM:

   libvirt_parthelper: 926 KB -> 21 KB

IOW, about 5.6 MB total space saving

Signed-off-by: Daniel P. Berrangé <berrange at redhat.com>
---
 src/Makefile.am              | 2 +-
 src/libvirt_remote.syms      | 1 +
 src/locking/Makefile.inc.am  | 4 +---
 src/logging/Makefile.inc.am  | 4 +---
 src/network/Makefile.inc.am  | 2 +-
 src/security/Makefile.inc.am | 2 --
 src/storage/Makefile.inc.am  | 2 +-
 7 files changed, 6 insertions(+), 11 deletions(-)

diff --git a/src/Makefile.am b/src/Makefile.am
index 7d452a9490..0b562dc250 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -851,7 +851,7 @@ libvirt_iohelper_LDFLAGS = \
 		$(PIE_LDFLAGS) \
 		$(NULL)
 libvirt_iohelper_LDADD = \
-		libvirt_util.la \
+		libvirt.la \
 		../gnulib/lib/libgnu.la
 if WITH_DTRACE_PROBES
 libvirt_iohelper_LDADD += libvirt_probes.lo
diff --git a/src/libvirt_remote.syms b/src/libvirt_remote.syms
index 98586d1584..3d68f6ce0a 100644
--- a/src/libvirt_remote.syms
+++ b/src/libvirt_remote.syms
@@ -176,6 +176,7 @@ virNetServerClientSetAuthLocked;
 virNetServerClientSetAuthPendingLocked;
 virNetServerClientSetCloseHook;
 virNetServerClientSetDispatcher;
+virNetServerClientSetQuietEOF;
 virNetServerClientSetReadonly;
 virNetServerClientStartKeepAlive;
 virNetServerClientWantCloseLocked;
diff --git a/src/locking/Makefile.inc.am b/src/locking/Makefile.inc.am
index da26fab91f..46ab11c2a9 100644
--- a/src/locking/Makefile.inc.am
+++ b/src/locking/Makefile.inc.am
@@ -145,10 +145,8 @@ virtlockd_LDFLAGS = \
 	$(NO_UNDEFINED_LDFLAGS) \
 	$(NULL)
 virtlockd_LDADD = \
+	libvirt.la \
 	libvirt_driver_admin.la \
-	libvirt-net-rpc-server.la \
-	libvirt-net-rpc.la \
-	libvirt_util.la \
 	../gnulib/lib/libgnu.la \
 	$(CYGWIN_EXTRA_LIBADD) \
 	$(NULL)
diff --git a/src/logging/Makefile.inc.am b/src/logging/Makefile.inc.am
index f5eba2a4f7..d57394cbde 100644
--- a/src/logging/Makefile.inc.am
+++ b/src/logging/Makefile.inc.am
@@ -80,9 +80,7 @@ virtlogd_LDFLAGS = \
 		$(NULL)
 virtlogd_LDADD = \
 		libvirt_driver_admin.la \
-		libvirt-net-rpc-server.la \
-		libvirt-net-rpc.la \
-		libvirt_util.la \
+		libvirt.la \
 		../gnulib/lib/libgnu.la \
 		$(CYGWIN_EXTRA_LIBADD) \
 		$(NULL)
diff --git a/src/network/Makefile.inc.am b/src/network/Makefile.inc.am
index 3fed59c13b..52270049d5 100644
--- a/src/network/Makefile.inc.am
+++ b/src/network/Makefile.inc.am
@@ -56,7 +56,7 @@ libvirt_leaseshelper_LDFLAGS = \
 	$(PIE_LDFLAGS) \
 	$(NULL)
 libvirt_leaseshelper_LDADD = \
-	libvirt_util.la \
+	libvirt.la \
 	../gnulib/lib/libgnu.la
 if WITH_DTRACE_PROBES
 libvirt_leaseshelper_LDADD += libvirt_probes.lo
diff --git a/src/security/Makefile.inc.am b/src/security/Makefile.inc.am
index 7fb6d8cc4f..64e0f46857 100644
--- a/src/security/Makefile.inc.am
+++ b/src/security/Makefile.inc.am
@@ -72,8 +72,6 @@ virt_aa_helper_LDFLAGS = \
 	$(NULL)
 virt_aa_helper_LDADD = \
 	libvirt.la \
-	libvirt_conf.la \
-	libvirt_util.la \
 	libvirt_driver_storage_impl.la \
 	../gnulib/lib/libgnu.la \
 	$(NULL)
diff --git a/src/storage/Makefile.inc.am b/src/storage/Makefile.inc.am
index ea4681f70e..538709256d 100644
--- a/src/storage/Makefile.inc.am
+++ b/src/storage/Makefile.inc.am
@@ -378,7 +378,7 @@ libvirt_parthelper_LDFLAGS = \
 	$(NULL)
 libvirt_parthelper_LDADD = \
 	$(LIBPARTED_LIBS) \
-	libvirt_util.la \
+	libvirt.la \
 	../gnulib/lib/libgnu.la \
 	$(NULL)
 if WITH_DTRACE_PROBES
-- 
2.21.0




More information about the libvir-list mailing list