summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathias Krause <Mathias.Krause@secunet.com>2010-01-20 17:39:13 +0300
committerDenis Ovsienko <infrastation@yandex.ru>2010-01-20 17:39:13 +0300
commit3f3dc2bd5f8cbde24cb581ed0aed0e372bfd556c (patch)
tree7754c556419e6315fed189a4d7a88f33a3558852
parent65957886bfd0dd9d95360d8b015781fc82cc09be (diff)
lib: fix PIE build flags
Because the final executables are built as position independent executables (PIE) -- when configure has detected compiler supported for PIE -- the objects in the library archive must be built in that way, too. Otherwise the runtime linker has to do unneccesary relocation for each start of the program. Even worse, the programs won't even be able to start on a (hardened) kernel that doesn't allow those relocations to happen by preventing making the .text segment writable (PaX's MPROTECT feature comes to mind). The attached patch fixes this issue by adding the appropriate flags to the Makefile.am.
-rw-r--r--lib/Makefile.am3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 315e919b..6264878e 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -14,6 +14,9 @@ libzebra_la_SOURCES = \
zclient.c sockopt.c smux.c md5.c if_rmap.c keychain.c privs.c \
sigevent.c pqueue.c jhash.c memtypes.c workqueue.c
+AM_CFLAGS = $(PICFLAGS)
+AM_LDFLAGS = $(PILDFLAGS)
+
BUILT_SOURCES = memtypes.h route_types.h
libzebra_la_DEPENDENCIES = @LIB_REGEX@