|
18 | 18 | // RUN: -fno-ptrauth-init-fini-address-discrimination -fptrauth-init-fini-address-discrimination \
|
19 | 19 | // RUN: -fno-ptrauth-elf-got -fptrauth-elf-got \
|
20 | 20 | // RUN: -fno-aarch64-jump-table-hardening -faarch64-jump-table-hardening \
|
21 |
| -// RUN: %s 2>&1 | FileCheck %s --check-prefix=ALL-LINUX-PAUTHTEST |
| 21 | +// RUN: %s 2>&1 | FileCheck %s --check-prefix=ALL-LINUX-PAUTHABI |
22 | 22 | // RUN: %clang -### -c --target=aarch64-linux-pauthtest \
|
23 | 23 | // RUN: -fno-ptrauth-intrinsics -fptrauth-intrinsics \
|
24 | 24 | // RUN: -fno-ptrauth-calls -fptrauth-calls \
|
|
32 | 32 | // RUN: -fno-ptrauth-init-fini-address-discrimination -fptrauth-init-fini-address-discrimination \
|
33 | 33 | // RUN: -fno-ptrauth-elf-got -fptrauth-elf-got \
|
34 | 34 | // RUN: -fno-aarch64-jump-table-hardening -faarch64-jump-table-hardening \
|
35 |
| -// RUN: %s 2>&1 | FileCheck %s --check-prefix=ALL-LINUX-PAUTHTEST |
36 |
| -// ALL-LINUX-PAUTHTEST: "-cc1"{{.*}} "-fptrauth-intrinsics" "-fptrauth-calls" "-fptrauth-returns" "-fptrauth-auth-traps" "-fptrauth-vtable-pointer-address-discrimination" "-fptrauth-vtable-pointer-type-discrimination" "-fptrauth-type-info-vtable-pointer-discrimination" "-fptrauth-indirect-gotos" "-fptrauth-init-fini" "-fptrauth-init-fini-address-discrimination" "-fptrauth-elf-got"{{.*}} "-faarch64-jump-table-hardening" |
| 35 | +// RUN: %s 2>&1 | FileCheck %s --check-prefix=ALL-LINUX-PAUTHABI |
| 36 | +// ALL-LINUX-PAUTHABI: "-cc1"{{.*}} "-fptrauth-intrinsics" "-fptrauth-calls" "-fptrauth-returns" "-fptrauth-auth-traps" "-fptrauth-vtable-pointer-address-discrimination" "-fptrauth-vtable-pointer-type-discrimination" "-fptrauth-type-info-vtable-pointer-discrimination" "-fptrauth-indirect-gotos" "-fptrauth-init-fini" "-fptrauth-init-fini-address-discrimination" "-fptrauth-elf-got"{{.*}} "-faarch64-jump-table-hardening" |
37 | 37 |
|
38 | 38 | // RUN: %clang -### -c --target=aarch64-linux \
|
39 | 39 | // RUN: -fno-aarch64-jump-table-hardening -faarch64-jump-table-hardening \
|
|
54 | 54 | // RUN: %s 2>&1 | FileCheck %s --check-prefix=ALL-DARWIN
|
55 | 55 | // ALL-DARWIN: "-cc1"{{.*}} "-fptrauth-intrinsics" "-fptrauth-calls" "-fptrauth-returns" "-fptrauth-auth-traps" "-fptrauth-vtable-pointer-address-discrimination" "-fptrauth-vtable-pointer-type-discrimination" "-fptrauth-type-info-vtable-pointer-discrimination" "-fptrauth-indirect-gotos"{{.*}} "-faarch64-jump-table-hardening"
|
56 | 56 |
|
57 |
| -// RUN: %clang -### -c --target=aarch64-linux -mabi=pauthtest %s 2>&1 | FileCheck %s --check-prefix=PAUTHTEST1 |
58 |
| -// RUN: %clang -### -c --target=aarch64-linux-pauthtest %s 2>&1 | FileCheck %s --check-prefix=PAUTHTEST1 |
59 |
| -// PAUTHTEST1: "-cc1"{{.*}} "-triple" "aarch64-unknown-linux-pauthtest" |
60 |
| -// PAUTHTEST1-SAME: "-fptrauth-intrinsics" "-fptrauth-calls" "-fptrauth-returns" "-fptrauth-auth-traps" "-fptrauth-vtable-pointer-address-discrimination" "-fptrauth-vtable-pointer-type-discrimination" "-fptrauth-type-info-vtable-pointer-discrimination" "-fptrauth-indirect-gotos" "-fptrauth-init-fini" "-fptrauth-init-fini-address-discrimination" "-faarch64-jump-table-hardening" |
61 |
| -// PAUTHTEST1-SAME: "-target-abi" "pauthtest" |
62 |
| -// PAUTHTEST1-NOT: "-fptrauth-function-pointer-type-discrimination" |
| 57 | +// RUN: %clang -### -c --target=aarch64-linux -mabi=pauthtest %s 2>&1 | FileCheck %s --check-prefix=PAUTHABI1 |
| 58 | +// RUN: %clang -### -c --target=aarch64-linux-pauthtest %s 2>&1 | FileCheck %s --check-prefix=PAUTHABI1 |
| 59 | +// PAUTHABI1: "-cc1"{{.*}} "-triple" "aarch64-unknown-linux-pauthtest" |
| 60 | +// PAUTHABI1-SAME: "-fptrauth-intrinsics" "-fptrauth-calls" "-fptrauth-returns" "-fptrauth-auth-traps" "-fptrauth-vtable-pointer-address-discrimination" "-fptrauth-vtable-pointer-type-discrimination" "-fptrauth-type-info-vtable-pointer-discrimination" "-fptrauth-indirect-gotos" "-fptrauth-init-fini" "-fptrauth-init-fini-address-discrimination" "-faarch64-jump-table-hardening" |
| 61 | +// PAUTHABI1-SAME: "-target-abi" "pauthtest" |
| 62 | +// PAUTHABI1-NOT: "-fptrauth-function-pointer-type-discrimination" |
63 | 63 |
|
64 | 64 | // RUN: %clang -### -c --target=aarch64-linux -mabi=pauthtest -fno-ptrauth-intrinsics \
|
65 | 65 | // RUN: -fno-ptrauth-calls -fno-ptrauth-returns -fno-ptrauth-auth-traps \
|
66 | 66 | // RUN: -fno-ptrauth-vtable-pointer-address-discrimination -fno-ptrauth-vtable-pointer-type-discrimination \
|
67 | 67 | // RUN: -fno-ptrauth-type-info-vtable-pointer-discrimination -fno-ptrauth-indirect-gotos \
|
68 | 68 | // RUN: -fno-ptrauth-init-fini -fno-ptrauth-init-fini-address-discrimination \
|
69 |
| -// RUN: -fno-aarch64-jump-table-hardening %s 2>&1 | FileCheck %s --check-prefix=PAUTHTEST2 |
| 69 | +// RUN: -fno-aarch64-jump-table-hardening %s 2>&1 | FileCheck %s --check-prefix=PAUTHABI2 |
70 | 70 | // RUN: %clang -### -c --target=aarch64-linux-pauthtest -fno-ptrauth-intrinsics \
|
71 | 71 | // RUN: -fno-ptrauth-calls -fno-ptrauth-returns -fno-ptrauth-auth-traps \
|
72 | 72 | // RUN: -fno-ptrauth-vtable-pointer-address-discrimination -fno-ptrauth-vtable-pointer-type-discrimination \
|
73 | 73 | // RUN: -fno-ptrauth-type-info-vtable-pointer-discrimination -fno-ptrauth-indirect-gotos \
|
74 | 74 | // RUN: -fno-ptrauth-init-fini -fno-ptrauth-init-fini-address-discrimination \
|
75 |
| -// RUN: -fno-aarch64-jump-table-hardening %s 2>&1 | FileCheck %s --check-prefix=PAUTHTEST2 |
| 75 | +// RUN: -fno-aarch64-jump-table-hardening %s 2>&1 | FileCheck %s --check-prefix=PAUTHABI2 |
76 | 76 |
|
77 | 77 | //// Non-linux OS: pauthtest ABI has no effect in terms of passing ptrauth cc1 flags.
|
78 | 78 | //// An error about unsupported ABI will be emitted later in pipeline (see ERR3 below)
|
79 |
| -// RUN: %clang -### -c --target=aarch64 -mabi=pauthtest %s 2>&1 | FileCheck %s --check-prefix=PAUTHTEST2 |
| 79 | +// RUN: %clang -### -c --target=aarch64 -mabi=pauthtest %s 2>&1 | FileCheck %s --check-prefix=PAUTHABI2 |
80 | 80 |
|
81 |
| -// PAUTHTEST2: "-cc1" |
82 |
| -// PAUTHTEST2-SAME: "-target-abi" "pauthtest" |
83 |
| -// PAUTHTEST2-NOT: "-fptrauth- |
84 |
| -// PAUTHTEST2-NOT: "-faarch64-jump-table-hardening" |
| 81 | +// PAUTHABI2: "-cc1" |
| 82 | +// PAUTHABI2-SAME: "-target-abi" "pauthtest" |
| 83 | +// PAUTHABI2-NOT: "-fptrauth- |
| 84 | +// PAUTHABI2-NOT: "-faarch64-jump-table-hardening" |
85 | 85 |
|
86 | 86 | //// Non-linux OS: pauthtest environment does not correspond to pauthtest ABI; aapcs is the default.
|
87 |
| -// RUN: %clang -### -c --target=aarch64-pauthtest %s 2>&1 | FileCheck %s --check-prefix=PAUTHTEST3 |
88 |
| -// PAUTHTEST3: "-cc1" |
89 |
| -// PAUTHTEST3-SAME: "-target-abi" "aapcs" |
90 |
| -// PAUTHTEST3-NOT: "-fptrauth- |
91 |
| -// PAUTHTEST3-NOT: "-faarch64-jump-table-hardening" |
| 87 | +// RUN: %clang -### -c --target=aarch64-pauthtest %s 2>&1 | FileCheck %s --check-prefix=PAUTHABI3 |
| 88 | +// PAUTHABI3: "-cc1" |
| 89 | +// PAUTHABI3-SAME: "-target-abi" "aapcs" |
| 90 | +// PAUTHABI3-NOT: "-fptrauth- |
| 91 | +// PAUTHABI3-NOT: "-faarch64-jump-table-hardening" |
92 | 92 |
|
93 | 93 | //// Non-pauthtest ABI.
|
94 | 94 | // RUN: not %clang -### -c --target=aarch64-linux -fptrauth-intrinsics -fptrauth-calls -fptrauth-returns -fptrauth-auth-traps \
|
|
0 commit comments