[Swan-dev] Removed linked shared libraries on our binaries that were not required

Paul Wouters paul at nohats.ca
Mon Oct 5 18:39:29 UTC 2015


hi,

Daniel pointed out we were linking in a lot of libraries that we do not
need. Especially all the klips binaries ended up linking in nss, nspr
and gmp. Commit c32451cae7514 changes NSSLIBS and reduces this a lot.

I still see linking happening against libsmime3 and libssl3, which I
don't understand. We do not specifically specify these, so they must
come in via libnss3 or libnspr4. I am not sure if they can be prevented
or how to prevent it. Maybe Andrew can have a look at this.

Below is the diff of a sorted ldd output before and after this patch.
(Manually added the binary name in the diff for clarity)

Paul


addconn:

@@ -5,7 +5,6 @@
  	libc.so.6 => /lib64/libc.so.6
  	libdl.so.2 => /lib64/libdl.so.2
  	libevent-2.0.so.5 => /lib64/libevent-2.0.so.5 
-	libgmp.so.10 => /lib64/libgmp.so.10
  	libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2
  	libk5crypto.so.3 => /lib64/libk5crypto.so.3
  	libkeyutils.so.1 => /lib64/libkeyutils.so.1 
@@ -23,8 +22,6 @@
  	libresolv.so.2 => /lib64/libresolv.so.2
  	librt.so.1 => /lib64/librt.so.1
  	libselinux.so.1 => /lib64/libselinux.so.1 
-	libsmime3.so => /lib64/libsmime3.so 
-	libssl3.so => /lib64/libssl3.so
  	libssl.so.10 => /lib64/libssl.so.10
  	libunbound.so.2 => /lib64/libunbound.so.2
  	libutil.so.1 => /lib64/libutil.so.1

eroute:

@@ -33,40 +30,17 @@
  	/lib64/ld-linux-x86-64.so.2
  	libc.so.6 => /lib64/libc.so.6 
-	libdl.so.2 => /lib64/libdl.so.2 
-	libgmp.so.10 => /lib64/libgmp.so.10 
-	libnspr4.so => /lib64/libnspr4.so 
-	libnss3.so => /lib64/libnss3.so 
-	libnssutil3.so => /lib64/libnssutil3.so 
-	libplc4.so => /lib64/libplc4.so 
-	libplds4.so => /lib64/libplds4.so
  	libpthread.so.0 => /lib64/libpthread.so.0 
-	librt.so.1 => /lib64/librt.so.1 
-	libsmime3.so => /lib64/libsmime3.so 
-	libssl3.so => /lib64/libssl3.so 
-	libz.so.1 => /lib64/libz.so.1
  	linux-vdso.so.1

ikeping:

  	/lib64/ld-linux-x86-64.so.2
  	libc.so.6 => /lib64/libc.so.6 
-	libdl.so.2 => /lib64/libdl.so.2 
-	libgmp.so.10 => /lib64/libgmp.so.10 
-	libnspr4.so => /lib64/libnspr4.so 
-	libnss3.so => /lib64/libnss3.so 
-	libnssutil3.so => /lib64/libnssutil3.so 
-	libplc4.so => /lib64/libplc4.so 
-	libplds4.so => /lib64/libplds4.so
  	libpthread.so.0 => /lib64/libpthread.so.0 
-	librt.so.1 => /lib64/librt.so.1 
-	libsmime3.so => /lib64/libsmime3.so 
-	libssl3.so => /lib64/libssl3.so 
-	libz.so.1 => /lib64/libz.so.1
  	linux-vdso.so.1

_import_crl:

  	/lib64/ld-linux-x86-64.so.2
  	libc.so.6 => /lib64/libc.so.6
  	libdl.so.2 => /lib64/libdl.so.2 
-	libgmp.so.10 => /lib64/libgmp.so.10
  	libnspr4.so => /lib64/libnspr4.so
  	libnss3.so => /lib64/libnss3.so
  	libnssutil3.so => /lib64/libnssutil3.so 
@@ -74,41 +48,16 @@
  	libplds4.so => /lib64/libplds4.so
  	libpthread.so.0 => /lib64/libpthread.so.0
  	librt.so.1 => /lib64/librt.so.1 
-	libsmime3.so => /lib64/libsmime3.so 
-	libssl3.so => /lib64/libssl3.so 
-	libz.so.1 => /lib64/libz.so.1
  	linux-vdso.so.1

klipsdebug:

  	/lib64/ld-linux-x86-64.so.2
  	libc.so.6 => /lib64/libc.so.6 
-	libdl.so.2 => /lib64/libdl.so.2 
-	libgmp.so.10 => /lib64/libgmp.so.10 
-	libnspr4.so => /lib64/libnspr4.so 
-	libnss3.so => /lib64/libnss3.so 
-	libnssutil3.so => /lib64/libnssutil3.so 
-	libplc4.so => /lib64/libplc4.so 
-	libplds4.so => /lib64/libplds4.so
  	libpthread.so.0 => /lib64/libpthread.so.0 
-	librt.so.1 => /lib64/librt.so.1 
-	libsmime3.so => /lib64/libsmime3.so 
-	libssl3.so => /lib64/libssl3.so 
-	libz.so.1 => /lib64/libz.so.1
  	linux-vdso.so.1

pf_key:
  	/lib64/ld-linux-x86-64.so.2
  	libc.so.6 => /lib64/libc.so.6 
-	libdl.so.2 => /lib64/libdl.so.2 
-	libgmp.so.10 => /lib64/libgmp.so.10 
-	libnspr4.so => /lib64/libnspr4.so 
-	libnss3.so => /lib64/libnss3.so 
-	libnssutil3.so => /lib64/libnssutil3.so 
-	libplc4.so => /lib64/libplc4.so 
-	libplds4.so => /lib64/libplds4.so
  	libpthread.so.0 => /lib64/libpthread.so.0 
-	librt.so.1 => /lib64/librt.so.1 
-	libsmime3.so => /lib64/libsmime3.so 
-	libssl3.so => /lib64/libssl3.so 
-	libz.so.1 => /lib64/libz.so.1
  	linux-vdso.so.1

pluto:
  	/lib64/ld-linux-x86-64.so.2 
@@ -162,7 +111,6 @@
  	libc.so.6 => /lib64/libc.so.6
  	libdl.so.2 => /lib64/libdl.so.2
  	libevent-2.0.so.5 => /lib64/libevent-2.0.so.5 
-	libgmp.so.10 => /lib64/libgmp.so.10
  	libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2
  	libk5crypto.so.3 => /lib64/libk5crypto.so.3
  	libkeyutils.so.1 => /lib64/libkeyutils.so.1 
@@ -180,8 +128,6 @@
  	libresolv.so.2 => /lib64/libresolv.so.2
  	librt.so.1 => /lib64/librt.so.1
  	libselinux.so.1 => /lib64/libselinux.so.1 
-	libsmime3.so => /lib64/libsmime3.so 
-	libssl3.so => /lib64/libssl3.so
  	libssl.so.10 => /lib64/libssl.so.10
  	libunbound.so.2 => /lib64/libunbound.so.2
  	libutil.so.1 => /lib64/libutil.so.1 
@@ -200,9 +146,6 @@
  	libplds4.so => /lib64/libplds4.so
  	libpthread.so.0 => /lib64/libpthread.so.0
  	librt.so.1 => /lib64/librt.so.1 
-	libsmime3.so => /lib64/libsmime3.so 
-	libssl3.so => /lib64/libssl3.so 
-	libz.so.1 => /lib64/libz.so.1
  	linux-vdso.so.1

showhostkey:

  	/lib64/ld-linux-x86-64.so.2 
@@ -216,55 +159,19 @@
  	libplds4.so => /lib64/libplds4.so
  	libpthread.so.0 => /lib64/libpthread.so.0
  	librt.so.1 => /lib64/librt.so.1 
-	libsmime3.so => /lib64/libsmime3.so 
-	libssl3.so => /lib64/libssl3.so 
-	libz.so.1 => /lib64/libz.so.1
  	linux-vdso.so.1

spi:

  	/lib64/ld-linux-x86-64.so.2
  	libc.so.6 => /lib64/libc.so.6 
-	libdl.so.2 => /lib64/libdl.so.2 
-	libgmp.so.10 => /lib64/libgmp.so.10 
-	libnspr4.so => /lib64/libnspr4.so 
-	libnss3.so => /lib64/libnss3.so 
-	libnssutil3.so => /lib64/libnssutil3.so 
-	libplc4.so => /lib64/libplc4.so 
-	libplds4.so => /lib64/libplds4.so
  	libpthread.so.0 => /lib64/libpthread.so.0 
-	librt.so.1 => /lib64/librt.so.1 
-	libsmime3.so => /lib64/libsmime3.so 
-	libssl3.so => /lib64/libssl3.so 
-	libz.so.1 => /lib64/libz.so.1
  	linux-vdso.so.1

spigrp:

  	/lib64/ld-linux-x86-64.so.2
  	libc.so.6 => /lib64/libc.so.6 
-	libdl.so.2 => /lib64/libdl.so.2 
-	libgmp.so.10 => /lib64/libgmp.so.10 
-	libnspr4.so => /lib64/libnspr4.so 
-	libnss3.so => /lib64/libnss3.so 
-	libnssutil3.so => /lib64/libnssutil3.so 
-	libplc4.so => /lib64/libplc4.so 
-	libplds4.so => /lib64/libplds4.so
  	libpthread.so.0 => /lib64/libpthread.so.0 
-	librt.so.1 => /lib64/librt.so.1 
-	libsmime3.so => /lib64/libsmime3.so 
-	libssl3.so => /lib64/libssl3.so 
-	libz.so.1 => /lib64/libz.so.1
  	linux-vdso.so.1

tncfg:

  	/lib64/ld-linux-x86-64.so.2
  	libc.so.6 => /lib64/libc.so.6 
-	libdl.so.2 => /lib64/libdl.so.2 
-	libgmp.so.10 => /lib64/libgmp.so.10 
-	libnspr4.so => /lib64/libnspr4.so 
-	libnss3.so => /lib64/libnss3.so 
-	libnssutil3.so => /lib64/libnssutil3.so 
-	libplc4.so => /lib64/libplc4.so 
-	libplds4.so => /lib64/libplds4.so
  	libpthread.so.0 => /lib64/libpthread.so.0 
-	librt.so.1 => /lib64/librt.so.1 
-	libsmime3.so => /lib64/libsmime3.so 
-	libssl3.so => /lib64/libssl3.so 
-	libz.so.1 => /lib64/libz.so.1
  	linux-vdso.so.1

whack:

@@ -8,7 +8,4 @@
  	libplds4.so => /lib64/libplds4.so
  	libpthread.so.0 => /lib64/libpthread.so.0
  	librt.so.1 => /lib64/librt.so.1 
-	libsmime3.so => /lib64/libsmime3.so 
-	libssl3.so => /lib64/libssl3.so 
-	libz.so.1 => /lib64/libz.so.1
  	linux-vdso.so.1



More information about the Swan-dev mailing list