From 3f3dc2bd5f8cbde24cb581ed0aed0e372bfd556c Mon Sep 17 00:00:00 2001 From: Mathias Krause Date: Wed, 20 Jan 2010 17:39:13 +0300 Subject: 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. --- lib/Makefile.am | 3 +++ 1 file changed, 3 insertions(+) (limited to 'lib/Makefile.am') 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@ -- cgit v1.2.1