From: Mathias Krause Date: Wed, 20 Jan 2010 14:39:13 +0000 (+0300) Subject: lib: fix PIE build flags X-Git-Tag: frr-2.0-rc1~2165 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=3f3dc2bd5f8cbde24cb581ed0aed0e372bfd556c;p=mirror%2Ffrr.git 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. --- diff --git a/lib/Makefile.am b/lib/Makefile.am index 315e919bee..6264878e2c 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@