summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2015-10-26 11:52:47 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2015-10-26 11:52:47 +0000
commitd94434c6f316c0d7bfd5c834b9cdf95dc1dddabc (patch)
treed2a568ed10e7a7de1f6bc29cabad5c438f8f7dc2
parentda7ec904ac8a04523a682434bb668d6de8139a66 (diff)
downloads6-networking-d94434c6f316c0d7bfd5c834b9cdf95dc1dddabc.tar.xz
Separate sections for smaller static binaries (thanks Denys Vlasenko)
-rwxr-xr-xconfigure6
-rw-r--r--package/targets.mak2
2 files changed, 7 insertions, 1 deletions
diff --git a/configure b/configure
index 3ddb7e5..ab6a070 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
if $evenmorestatic ; then
LDFLAGS_NOSHARED=-static
@@ -310,6 +315,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
diff --git a/package/targets.mak b/package/targets.mak
index e28b327..e0600cc 100644
--- a/package/targets.mak
+++ b/package/targets.mak
@@ -24,7 +24,7 @@ LIB_DEFS := S6NET=s6net
EXTRA_TARGETS := src/minidentd/mgetuid.c
src/minidentd/mgetuid.c: src/minidentd/mgetuid-linux.c src/minidentd/mgetuid-default.c
- @if grep -q -iF -- -linux- $(sysdeps)/target 2>/dev/null ; then \
+ @if grep -q -iF -- -linux $(sysdeps)/target 2>/dev/null ; then \
ln -sf mgetuid-linux.c src/minidentd/mgetuid.c ; \
else \
ln -sf mgetuid-default.c src/minidentd/mgetuid.c ; \