summary refs log tree commit diff
path: root/configure
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2015-10-26 11:52:30 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2015-10-26 11:52:30 +0000
commit15721224a8ff9e7ea3ac96f7bba0dc6b5a54da70 (patch)
tree8dca617cab196d8cd2ee4a4d092bc396179d782b /configure
parent717f2a6d122c1f924c413c7e2f71955e15dab387 (diff)
downloadexecline-15721224a8ff9e7ea3ac96f7bba0dc6b5a54da70.tar.gz
execline-15721224a8ff9e7ea3ac96f7bba0dc6b5a54da70.tar.xz
execline-15721224a8ff9e7ea3ac96f7bba0dc6b5a54da70.zip
Separate sections for smaller static binaries (thanks Denys Vlasenko)
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure6
1 files changed, 6 insertions, 0 deletions
diff --git a/configure b/configure
index acae350..a86f0d7 100755
--- a/configure
+++ b/configure
@@ -297,6 +297,11 @@ tryflag CPPFLAGS_AUTO -Werror=implicit-function-declaration
 tryflag CPPFLAGS_AUTO -Werror=implicit-int
 tryflag CPPFLAGS_AUTO -Werror=pointer-sign
 tryflag CPPFLAGS_AUTO -Werror=pointer-arith
+tryflag CFLAGS_AUTO -ffunction-sections
+tryflag CFLAGS_AUTO -fdata-sections
+
+tryldflag LDFLAGS_AUTO -Wl,--sort-section=alignment
+tryldflag LDFLAGS_AUTO -Wl,--sort-common
 
 CPPFLAGS_AUTO="${CPPFLAGS_AUTO}${addincpath}"
 
@@ -312,6 +317,7 @@ LDFLAGS_SHARED="${LDFLAGS_SHARED}${addlibdpath}"
 
 if $allstatic ; then
   LDFLAGS_NOSHARED="${LDFLAGS_NOSHARED}${addlibspath}"
+  tryldflag LDFLAGS_NOSHARED -Wl,--gc-sections
 else
   LDFLAGS_NOSHARED="${LDFLAGS_NOSHARED}${addlibdpath}"
 fi