1 # SPDX-License-Identifier: GPL-2.0 2 # Copyright (C) 2020 ARM Limited 3 4 # preserve CC value from top level Makefile 5 ifeq ($(CC),cc) 6 CC := $(CROSS_COMPILE)gcc 7 endif 8 9 CFLAGS += -mbranch-protection=pac-ret 10 # check if the compiler supports ARMv8.3 and b 11 pauth_cc_support := $(shell if ($(CC) $(CFLAGS 12 13 ifeq ($(pauth_cc_support),1) 14 TEST_GEN_PROGS := pac 15 TEST_GEN_FILES := pac_corruptor.o helper.o 16 TEST_GEN_PROGS_EXTENDED := exec_target 17 endif 18 19 include ../../lib.mk 20 21 ifeq ($(pauth_cc_support),1) 22 # pac* and aut* instructions are not available 23 # ARMv8.3. Therefore target ARMv8.3 wherever t 24 $(OUTPUT)/pac_corruptor.o: pac_corruptor.S 25 $(CC) -c $^ -o $@ $(CFLAGS) -march=arm 26 27 $(OUTPUT)/helper.o: helper.c 28 $(CC) -c $^ -o $@ $(CFLAGS) -march=arm 29 30 # when -mbranch-protection is enabled and the 31 # greater, gcc emits pac* instructions which a 32 # preventing the tests from occurring at all. 33 # run on earlier targets and print a meaningfu 34 $(OUTPUT)/exec_target: exec_target.c $(OUTPUT) 35 $(CC) $^ -o $@ $(CFLAGS) -march=armv8. 36 37 $(OUTPUT)/pac: pac.c $(OUTPUT)/pac_corruptor.o 38 $(CC) $^ -o $@ $(CFLAGS) -march=armv8. 39 endif
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.