toolchain/toolchain-wrapper: add BR2_SSP_* support

Migrate the stack protection flag management into the wrapper.

Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Matt Weber 2018-09-17 16:21:50 -05:00 committed by Peter Korsgaard
parent 7484c1c3b8
commit f10822d151
3 changed files with 17 additions and 8 deletions

View File

@ -143,14 +143,6 @@ endif
TARGET_LDFLAGS = $(call qstrip,$(BR2_TARGET_LDFLAGS))
ifeq ($(BR2_SSP_REGULAR),y)
TARGET_HARDENED += -fstack-protector
else ifeq ($(BR2_SSP_STRONG),y)
TARGET_HARDENED += -fstack-protector-strong
else ifeq ($(BR2_SSP_ALL),y)
TARGET_HARDENED += -fstack-protector-all
endif
ifeq ($(BR2_FORTIFY_SOURCE_1),y)
TARGET_HARDENED += -D_FORTIFY_SOURCE=1
else ifeq ($(BR2_FORTIFY_SOURCE_2),y)

View File

@ -98,6 +98,15 @@ static char *predef_args[] = {
#if defined(BR_MIPS_TARGET_BIG_ENDIAN) || defined(BR_ARC_TARGET_BIG_ENDIAN)
"-EB",
#endif
#ifdef BR_SSP_REGULAR
"-fstack-protector",
#endif
#ifdef BR_SSP_STRONG
"-fstack-protector-strong",
#endif
#ifdef BR_SSP_ALL
"-fstack-protector-all",
#endif
#ifdef BR_ADDITIONAL_CFLAGS
BR_ADDITIONAL_CFLAGS
#endif

View File

@ -51,6 +51,14 @@ else ifeq ($(BR2_RELRO_FULL),y)
TOOLCHAIN_WRAPPER_ARGS += -DBR2_RELRO_FULL
endif
ifeq ($(BR2_SSP_REGULAR),y)
TOOLCHAIN_WRAPPER_ARGS += -DBR_SSP_REGULAR
else ifeq ($(BR2_SSP_STRONG),y)
TOOLCHAIN_WRAPPER_ARGS += -DBR_SSP_STRONG
else ifeq ($(BR2_SSP_ALL),y)
TOOLCHAIN_WRAPPER_ARGS += -DBR_SSP_ALL
endif
define TOOLCHAIN_WRAPPER_BUILD
$(HOSTCC) $(HOST_CFLAGS) $(TOOLCHAIN_WRAPPER_ARGS) \
-s -Wl,--hash-style=$(TOOLCHAIN_WRAPPER_HASH_STYLE) \