summaryrefslogtreecommitdiffstats
path: root/lib/stack_protector/stack_protector.mk
blob: 4f13bc344892e4f49533da79ee07936291bdaf2c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#
# Copyright (c) 2017-2019, Arm Limited and Contributors. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#

# Boolean macro to be used in C code
STACK_PROTECTOR_ENABLED := 0

ifeq (${ENABLE_STACK_PROTECTOR},0)
  ENABLE_STACK_PROTECTOR := none
endif

ifeq (${ENABLE_STACK_PROTECTOR},none)
  TF_CFLAGS            +=      -fno-stack-protector
else
  STACK_PROTECTOR_ENABLED := 1
  BL_COMMON_SOURCES	+=	lib/stack_protector/stack_protector.c	\
				lib/stack_protector/${ARCH}/asm_stack_protector.S

  ifeq (${ENABLE_STACK_PROTECTOR},default)
    TF_CFLAGS		+=	-fstack-protector
  else
    TF_CFLAGS		+=	-fstack-protector-${ENABLE_STACK_PROTECTOR}
  endif
endif

$(eval $(call add_define,STACK_PROTECTOR_ENABLED))