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

Daniel P. Berrangé posted 1 patch 4 years, 11 months ago
Test syntax-check passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/20190517101548.16155-1-berrange@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(-)
[libvirt] [PATCH v2] src: don't statically link code that's already in libvirt.so
Posted by Daniel P. Berrangé 4 years, 11 months ago
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@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

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH v2] src: don't statically link code that's already in libvirt.so
Posted by Ján Tomko 4 years, 11 months ago
On Fri, May 17, 2019 at 11:15:48AM +0100, Daniel P. Berrangé wrote:
>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@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(-)
>

Reviewed-by: Ján Tomko <jtomko@redhat.com>

Jano
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list