From 5b52fb59575fab6dc3e9e9af8e874289de731611 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sun, 25 May 2014 21:49:05 +0200 Subject: allow to enable PIE --- mk/vars.mk | 5 +++++ package/qemu/Makefile | 7 ++++--- target/config/Config.in.toolchain | 5 +++++ 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/mk/vars.mk b/mk/vars.mk index 0950b7765..292407694 100644 --- a/mk/vars.mk +++ b/mk/vars.mk @@ -119,6 +119,11 @@ TARGET_CXXFLAGS+= -fstack-protector-all TARGET_LDFLAGS+= -fstack-protector-all endif +ifneq ($(ADK_TARGET_USE_PIE),) +TARGET_CFLAGS+= -fPIE +TARGET_CXXFLAGS+= -fPIE +endif + ifneq ($(ADK_TARGET_USE_LTO),) TARGET_CFLAGS+= -flto TARGET_CXXFLAGS+= -flto diff --git a/package/qemu/Makefile b/package/qemu/Makefile index e12649311..c7b486509 100644 --- a/package/qemu/Makefile +++ b/package/qemu/Makefile @@ -30,9 +30,10 @@ ifeq ($(ADK_TARGET_LIB_MUSL),y) TARGET_CFLAGS+= -DF_EXLCK=4 -DF_SHLCK=8 -D__SIGRTMIN=32 -D__SIGRTMAX=\(NSIG-1\) endif -ifeq ($(ADK_STATIC),y) -TARGET_CFLAGS+= -static -TARGET_LDFLAGS+= -static +ifeq ($(ADK_TARGET_USE_PIE),y) +CONFIGURE_ARGS+= --enable-pie +else +CONFIGURE_ARGS+= --disable-pie endif CONFIG_STYLE:= minimal diff --git a/target/config/Config.in.toolchain b/target/config/Config.in.toolchain index 0e0ea507c..760317429 100644 --- a/target/config/Config.in.toolchain +++ b/target/config/Config.in.toolchain @@ -52,6 +52,11 @@ config ADK_TARGET_USE_SSP select ADK_TOOLCHAIN_WITH_SSP default n +config ADK_TARGET_USE_PIE + prompt "Use Position Independent Executable mode for all packages" + boolean + default n + config ADK_TOOLCHAIN_WITH_LTO boolean default n -- cgit v1.2.3