~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/tools/testing/selftests/arm64/pauth/Makefile

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /tools/testing/selftests/arm64/pauth/Makefile (Version linux-6.12-rc7) and /tools/testing/selftests/arm64/pauth/Makefile (Version linux-5.11.22)


  1 # SPDX-License-Identifier: GPL-2.0                  1 # SPDX-License-Identifier: GPL-2.0
  2 # Copyright (C) 2020 ARM Limited                    2 # Copyright (C) 2020 ARM Limited
  3                                                     3 
  4 # preserve CC value from top level Makefile         4 # preserve CC value from top level Makefile
  5 ifeq ($(CC),cc)                                     5 ifeq ($(CC),cc)
  6 CC := $(CROSS_COMPILE)gcc                           6 CC := $(CROSS_COMPILE)gcc
  7 endif                                               7 endif
  8                                                     8 
  9 CFLAGS += -mbranch-protection=pac-ret               9 CFLAGS += -mbranch-protection=pac-ret
 10 # check if the compiler supports ARMv8.3 and b     10 # check if the compiler supports ARMv8.3 and branch protection with PAuth
 11 pauth_cc_support := $(shell if ($(CC) $(CFLAGS     11 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)
 12                                                    12 
 13 ifeq ($(pauth_cc_support),1)                       13 ifeq ($(pauth_cc_support),1)
 14 TEST_GEN_PROGS := pac                              14 TEST_GEN_PROGS := pac
 15 TEST_GEN_FILES := pac_corruptor.o helper.o         15 TEST_GEN_FILES := pac_corruptor.o helper.o
 16 TEST_GEN_PROGS_EXTENDED := exec_target             16 TEST_GEN_PROGS_EXTENDED := exec_target
 17 endif                                              17 endif
 18                                                    18 
 19 include ../../lib.mk                               19 include ../../lib.mk
 20                                                    20 
 21 ifeq ($(pauth_cc_support),1)                       21 ifeq ($(pauth_cc_support),1)
 22 # pac* and aut* instructions are not available     22 # pac* and aut* instructions are not available on architectures berfore
 23 # ARMv8.3. Therefore target ARMv8.3 wherever t     23 # ARMv8.3. Therefore target ARMv8.3 wherever they are used directly
 24 $(OUTPUT)/pac_corruptor.o: pac_corruptor.S         24 $(OUTPUT)/pac_corruptor.o: pac_corruptor.S
 25         $(CC) -c $^ -o $@ $(CFLAGS) -march=arm     25         $(CC) -c $^ -o $@ $(CFLAGS) -march=armv8.3-a
 26                                                    26 
 27 $(OUTPUT)/helper.o: helper.c                       27 $(OUTPUT)/helper.o: helper.c
 28         $(CC) -c $^ -o $@ $(CFLAGS) -march=arm     28         $(CC) -c $^ -o $@ $(CFLAGS) -march=armv8.3-a
 29                                                    29 
 30 # when -mbranch-protection is enabled and the      30 # when -mbranch-protection is enabled and the target architecture is ARMv8.3 or
 31 # greater, gcc emits pac* instructions which a     31 # greater, gcc emits pac* instructions which are not in HINT NOP space,
 32 # preventing the tests from occurring at all.      32 # preventing the tests from occurring at all. Compile for ARMv8.2 so tests can
 33 # run on earlier targets and print a meaningfu     33 # run on earlier targets and print a meaningful error messages
 34 $(OUTPUT)/exec_target: exec_target.c $(OUTPUT)     34 $(OUTPUT)/exec_target: exec_target.c $(OUTPUT)/helper.o
 35         $(CC) $^ -o $@ $(CFLAGS) -march=armv8.     35         $(CC) $^ -o $@ $(CFLAGS) -march=armv8.2-a
 36                                                    36 
 37 $(OUTPUT)/pac: pac.c $(OUTPUT)/pac_corruptor.o     37 $(OUTPUT)/pac: pac.c $(OUTPUT)/pac_corruptor.o $(OUTPUT)/helper.o
 38         $(CC) $^ -o $@ $(CFLAGS) -march=armv8.     38         $(CC) $^ -o $@ $(CFLAGS) -march=armv8.2-a
 39 endif                                              39 endif
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php