The "--as-needed" linker flag reduces the number of unused objects
and dependencies in an executable, making it smaller and faster to
load.

Some distributions implicitly specify "--as-needed" when linking
their package builds.  Building on Fedora appears not to.

So that building on any platform can catch build problems before
they are committed, explicitly specify --as-needed for executables.

References:

  http://www.gentoo.org/proj/en/qa/asneeded.xml#doc_chap1

  https://sigquit.wordpress.com/tag/gnu-libtool/

Reviewed-by: David Disseldorp <[email protected]>
Signed-off-by: Chuck Lever <[email protected]>
---
 src/fedfsc/Makefile.am     |    1 +
 src/fedfsd/Makefile.am     |    1 +
 src/mount/Makefile.am      |    1 +
 src/nfsref/Makefile.am     |    1 +
 src/nsdbc/Makefile.am      |    1 +
 src/nsdbparams/Makefile.am |    1 +
 6 files changed, 6 insertions(+)

diff --git a/src/fedfsc/Makefile.am b/src/fedfsc/Makefile.am
index 808c886..df204d3 100644
--- a/src/fedfsc/Makefile.am
+++ b/src/fedfsc/Makefile.am
@@ -45,3 +45,4 @@ AM_CFLAGS             = -ggdb -fstrict-aliasing \
                          -Wall -Wextra -pedantic -Wformat=2 \
                          -Wstrict-aliasing=2 -Wp,-D_FORTIFY_SOURCE=2
 AM_CPPFLAGS            = -I. -I$(top_srcdir)/src/include -I/usr/include/tirpc
+AM_LDFLAGS             = -Wl,--as-needed
diff --git a/src/fedfsd/Makefile.am b/src/fedfsd/Makefile.am
index 583a49a..8ff35b9 100644
--- a/src/fedfsd/Makefile.am
+++ b/src/fedfsd/Makefile.am
@@ -42,6 +42,7 @@ AM_CFLAGS             = -ggdb -fstrict-aliasing \
                          -Wall -Wextra -pedantic -Wformat=2 \
                          -Wstrict-aliasing=2 -Wp,-D_FORTIFY_SOURCE=2
 AM_CPPFLAGS            = -I. -I$(top_srcdir)/src/include -I/usr/include/tirpc
+AM_LDFLAGS             = -Wl,--as-needed
 
 #######################################################################
 # The following allows the current practice of having
diff --git a/src/mount/Makefile.am b/src/mount/Makefile.am
index b48d842..6aaaaa4 100644
--- a/src/mount/Makefile.am
+++ b/src/mount/Makefile.am
@@ -41,3 +41,4 @@ AM_CFLAGS             = -ggdb -fstrict-aliasing \
                          -Wall -Wextra -pedantic -Wformat=2 \
                          -Wstrict-aliasing=2 -Wp,-D_FORTIFY_SOURCE=2
 AM_CPPFLAGS            = -I. -I$(top_srcdir)/src/include
+AM_LDFLAGS             = -Wl,--as-needed
diff --git a/src/nfsref/Makefile.am b/src/nfsref/Makefile.am
index 71e9242..6574db7 100644
--- a/src/nfsref/Makefile.am
+++ b/src/nfsref/Makefile.am
@@ -40,3 +40,4 @@ AM_CFLAGS             = -ggdb -fstrict-aliasing \
                          -Wall -Wextra -pedantic -Wformat=2 \
                          -Wstrict-aliasing=2 -Wp,-D_FORTIFY_SOURCE=2
 AM_CPPFLAGS            = -I. -I$(top_srcdir)/src/include
+AM_LDFLAGS             = -Wl,--as-needed
diff --git a/src/nsdbc/Makefile.am b/src/nsdbc/Makefile.am
index 0b32082..5c4f865 100644
--- a/src/nsdbc/Makefile.am
+++ b/src/nsdbc/Makefile.am
@@ -42,3 +42,4 @@ AM_CFLAGS             = -ggdb -fstrict-aliasing \
                          -Wall -Wextra -pedantic -Wformat=2 \
                          -Wstrict-aliasing=2 -Wp,-D_FORTIFY_SOURCE=2
 AM_CPPFLAGS            = -I$(top_srcdir)/src/include -I/usr/include/tirpc
+AM_LDFLAGS             = -Wl,--as-needed
diff --git a/src/nsdbparams/Makefile.am b/src/nsdbparams/Makefile.am
index 0da4d0c..e18011a 100644
--- a/src/nsdbparams/Makefile.am
+++ b/src/nsdbparams/Makefile.am
@@ -40,3 +40,4 @@ AM_CFLAGS             = -ggdb -fstrict-aliasing \
                          -Wall -Wextra -pedantic -Wformat=2 \
                          -Wstrict-aliasing=2 -Wp,-D_FORTIFY_SOURCE=2
 AM_CPPFLAGS            = -I. -I$(top_srcdir)/src/include -I/usr/include/tirpc
+AM_LDFLAGS             = -Wl,--as-needed


_______________________________________________
fedfs-utils-devel mailing list
[email protected]
https://oss.oracle.com/mailman/listinfo/fedfs-utils-devel

Reply via email to