|
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