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.
This commit is contained in:
Mathias Krause 2010-01-20 17:39:13 +03:00 committed by Denis Ovsienko
parent 65957886bf
commit 3f3dc2bd5f

View File

@ -14,6 +14,9 @@ libzebra_la_SOURCES = \
zclient.c sockopt.c smux.c md5.c if_rmap.c keychain.c privs.c \ 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 sigevent.c pqueue.c jhash.c memtypes.c workqueue.c
AM_CFLAGS = $(PICFLAGS)
AM_LDFLAGS = $(PILDFLAGS)
BUILT_SOURCES = memtypes.h route_types.h BUILT_SOURCES = memtypes.h route_types.h
libzebra_la_DEPENDENCIES = @LIB_REGEX@ libzebra_la_DEPENDENCIES = @LIB_REGEX@