1*91f16700Schasinglulu# 2*91f16700Schasinglulu# Copyright (c) 2017-2019, Arm Limited and Contributors. All rights reserved. 3*91f16700Schasinglulu# 4*91f16700Schasinglulu# SPDX-License-Identifier: BSD-3-Clause 5*91f16700Schasinglulu# 6*91f16700Schasinglulu 7*91f16700Schasinglulu# Boolean macro to be used in C code 8*91f16700SchasingluluSTACK_PROTECTOR_ENABLED := 0 9*91f16700Schasinglulu 10*91f16700Schasingluluifeq (${ENABLE_STACK_PROTECTOR},0) 11*91f16700Schasinglulu ENABLE_STACK_PROTECTOR := none 12*91f16700Schasingluluendif 13*91f16700Schasinglulu 14*91f16700Schasingluluifeq (${ENABLE_STACK_PROTECTOR},none) 15*91f16700Schasinglulu TF_CFLAGS += -fno-stack-protector 16*91f16700Schasingluluelse 17*91f16700Schasinglulu STACK_PROTECTOR_ENABLED := 1 18*91f16700Schasinglulu BL_COMMON_SOURCES += lib/stack_protector/stack_protector.c \ 19*91f16700Schasinglulu lib/stack_protector/${ARCH}/asm_stack_protector.S 20*91f16700Schasinglulu 21*91f16700Schasinglulu ifeq (${ENABLE_STACK_PROTECTOR},default) 22*91f16700Schasinglulu TF_CFLAGS += -fstack-protector 23*91f16700Schasinglulu else 24*91f16700Schasinglulu TF_CFLAGS += -fstack-protector-${ENABLE_STACK_PROTECTOR} 25*91f16700Schasinglulu endif 26*91f16700Schasingluluendif 27*91f16700Schasinglulu 28*91f16700Schasinglulu$(eval $(call add_define,STACK_PROTECTOR_ENABLED)) 29