0001
0002
0003
0004
0005 ifeq ($(CC),cc)
0006 CC := $(CROSS_COMPILE)gcc
0007 endif
0008
0009 CFLAGS += -mbranch-protection=pac-ret
0010
0011 pauth_cc_support := $(shell if ($(CC) $(CFLAGS) -march=armv8.3-a -E -x c /dev/null -o /dev/null 2>&1) then echo "1"; fi)
0012
0013 ifeq ($(pauth_cc_support),1)
0014 TEST_GEN_PROGS := pac
0015 TEST_GEN_FILES := pac_corruptor.o helper.o
0016 TEST_GEN_PROGS_EXTENDED := exec_target
0017 endif
0018
0019 include ../../lib.mk
0020
0021 ifeq ($(pauth_cc_support),1)
0022
0023
0024 $(OUTPUT)/pac_corruptor.o: pac_corruptor.S
0025 $(CC) -c $^ -o $@ $(CFLAGS) -march=armv8.3-a
0026
0027 $(OUTPUT)/helper.o: helper.c
0028 $(CC) -c $^ -o $@ $(CFLAGS) -march=armv8.3-a
0029
0030
0031
0032
0033
0034 $(OUTPUT)/exec_target: exec_target.c $(OUTPUT)/helper.o
0035 $(CC) $^ -o $@ $(CFLAGS) -march=armv8.2-a
0036
0037 $(OUTPUT)/pac: pac.c $(OUTPUT)/pac_corruptor.o $(OUTPUT)/helper.o
0038 $(CC) $^ -o $@ $(CFLAGS) -march=armv8.2-a
0039 endif