Skip to content

Commit 14fa8cd

Browse files
kovdan01tru
authored andcommitted
[PAC][clang] Enable -fptrauth-indirect-gotos as part of pauthtest ABI (#100480)
(cherry picked from commit 3f6eb13)
1 parent 98b2bc5 commit 14fa8cd

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

clang/lib/Driver/ToolChains/Clang.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1516,6 +1516,10 @@ static void handlePAuthABI(const ArgList &DriverArgs, ArgStringList &CC1Args) {
15161516
options::OPT_fno_ptrauth_vtable_pointer_type_discrimination))
15171517
CC1Args.push_back("-fptrauth-vtable-pointer-type-discrimination");
15181518

1519+
if (!DriverArgs.hasArg(options::OPT_fptrauth_indirect_gotos,
1520+
options::OPT_fno_ptrauth_indirect_gotos))
1521+
CC1Args.push_back("-fptrauth-indirect-gotos");
1522+
15191523
if (!DriverArgs.hasArg(options::OPT_fptrauth_init_fini,
15201524
options::OPT_fno_ptrauth_init_fini))
15211525
CC1Args.push_back("-fptrauth-init-fini");

clang/test/Driver/aarch64-ptrauth.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,16 @@
1919
// RUN: %clang -### -c --target=aarch64-linux-pauthtest %s 2>&1 | FileCheck %s --check-prefix=PAUTHABI1
2020
// PAUTHABI1: "-cc1"{{.*}} "-triple" "aarch64-unknown-linux-pauthtest"
2121
// PAUTHABI1-SAME: "-target-abi" "pauthtest"
22-
// PAUTHABI1-SAME: "-fptrauth-intrinsics" "-fptrauth-calls" "-fptrauth-returns" "-fptrauth-auth-traps" "-fptrauth-vtable-pointer-address-discrimination" "-fptrauth-vtable-pointer-type-discrimination" "-fptrauth-init-fini"
22+
// PAUTHABI1-SAME: "-fptrauth-intrinsics" "-fptrauth-calls" "-fptrauth-returns" "-fptrauth-auth-traps" "-fptrauth-vtable-pointer-address-discrimination" "-fptrauth-vtable-pointer-type-discrimination" "-fptrauth-indirect-gotos" "-fptrauth-init-fini"
2323

2424
// RUN: %clang -### -c --target=aarch64 -mabi=pauthtest -fno-ptrauth-intrinsics \
2525
// RUN: -fno-ptrauth-calls -fno-ptrauth-returns -fno-ptrauth-auth-traps \
2626
// RUN: -fno-ptrauth-vtable-pointer-address-discrimination -fno-ptrauth-vtable-pointer-type-discrimination \
27-
// RUN: -fno-ptrauth-init-fini %s 2>&1 | FileCheck %s --check-prefix=PAUTHABI2
27+
// RUN: -fno-ptrauth-indirect-gotos -fno-ptrauth-init-fini %s 2>&1 | FileCheck %s --check-prefix=PAUTHABI2
2828
// RUN: %clang -### -c --target=aarch64-pauthtest -fno-ptrauth-intrinsics \
2929
// RUN: -fno-ptrauth-calls -fno-ptrauth-returns -fno-ptrauth-auth-traps \
3030
// RUN: -fno-ptrauth-vtable-pointer-address-discrimination -fno-ptrauth-vtable-pointer-type-discrimination \
31-
// RUN: -fno-ptrauth-init-fini %s 2>&1 | FileCheck %s --check-prefix=PAUTHABI2
31+
// RUN: -fno-ptrauth-indirect-gotos -fno-ptrauth-init-fini %s 2>&1 | FileCheck %s --check-prefix=PAUTHABI2
3232
// PAUTHABI2: "-cc1"
3333
// PAUTHABI2-NOT: "-fptrauth-
3434

0 commit comments

Comments
 (0)