diff options
| -rw-r--r-- | Rules.mak | 13 | 
1 files changed, 12 insertions, 1 deletions
| @@ -89,6 +89,10 @@ ARFLAGS:=r  OPTIMIZATION:=  PICFLAG:=-fPIC +PIEFLAG:=$(call check_gcc,-fPIE,) +ifeq ($(strip $(PIEFLAG)),-fPIE) +LDPIEFLAG:=-Wl,-pie +endif  # Some nice CPU specific optimizations  ifeq ($(strip $(TARGET_ARCH)),i386) @@ -172,6 +176,7 @@ ifeq ($(strip $(TARGET_ARCH)),cris)  	CPU_LDFLAGS-$(CONFIG_CRIS)+=-mcrislinux  	CPU_CFLAGS-$(CONFIG_CRIS)+=-mlinux  	PICFLAG:=-fpic +	PIEFLAG:=$(call check_gcc,-fpie,)  endif  ifeq ($(strip $(TARGET_ARCH)),powerpc) @@ -179,13 +184,14 @@ ifeq ($(strip $(TARGET_ARCH)),powerpc)  # enough. Therefore use -fpic which will reduce code size and generates  # faster code.  	PICFLAG:=-fpic +	PIEFLAG=$(call check_gcc,-fpie,)  endif  ifeq ($(strip $(TARGET_ARCH)),frv)  	CPU_LDFLAGS-$(CONFIG_FRV)+=-melf32frvfd  	CPU_CFLAGS-$(CONFIG_FRV)+=-mfdpic  	PICFLAG=-fPIC -DPIC -	PIEFLAG=-fpie +	PIEFLAG=$(call check_gcc,-fpie,)  	# Using -pie causes the program to have an interpreter, which is  	# forbidden, so we must make do with -shared.  Unfortunately,  	# -shared by itself would get us global function descriptors @@ -220,6 +226,11 @@ ifeq ($(strip $(TARGET_ARCH)),arm)  endif  endif +ifneq ($(strip $(UCLIBC_PIE_SUPPORT)),y) +PIEFLAG= +LDPIEFLAG= +endif +  ifeq ($(SSP_CFLAGS),)  SSP_CFLAGS=$(call check_gcc,-fno-stack-protector-all,)  SSP_CFLAGS+=$(call check_gcc,-fstack-protector,) | 
