@@ -1501,59 +1501,6 @@ void AddUnalignedAccessWarning(ArgStringList &CmdArgs) {
1501
1501
}
1502
1502
}
1503
1503
1504
- // Each combination of options here forms a signing schema, and in most cases
1505
- // each signing schema is its own incompatible ABI. The default values of the
1506
- // options represent the default signing schema.
1507
- static void handlePAuthABI (const ArgList &DriverArgs, ArgStringList &CC1Args) {
1508
- if (!DriverArgs.hasArg (options::OPT_fptrauth_intrinsics,
1509
- options::OPT_fno_ptrauth_intrinsics))
1510
- CC1Args.push_back (" -fptrauth-intrinsics" );
1511
-
1512
- if (!DriverArgs.hasArg (options::OPT_fptrauth_calls,
1513
- options::OPT_fno_ptrauth_calls))
1514
- CC1Args.push_back (" -fptrauth-calls" );
1515
-
1516
- if (!DriverArgs.hasArg (options::OPT_fptrauth_returns,
1517
- options::OPT_fno_ptrauth_returns))
1518
- CC1Args.push_back (" -fptrauth-returns" );
1519
-
1520
- if (!DriverArgs.hasArg (options::OPT_fptrauth_auth_traps,
1521
- options::OPT_fno_ptrauth_auth_traps))
1522
- CC1Args.push_back (" -fptrauth-auth-traps" );
1523
-
1524
- if (!DriverArgs.hasArg (
1525
- options::OPT_fptrauth_vtable_pointer_address_discrimination,
1526
- options::OPT_fno_ptrauth_vtable_pointer_address_discrimination))
1527
- CC1Args.push_back (" -fptrauth-vtable-pointer-address-discrimination" );
1528
-
1529
- if (!DriverArgs.hasArg (
1530
- options::OPT_fptrauth_vtable_pointer_type_discrimination,
1531
- options::OPT_fno_ptrauth_vtable_pointer_type_discrimination))
1532
- CC1Args.push_back (" -fptrauth-vtable-pointer-type-discrimination" );
1533
-
1534
- if (!DriverArgs.hasArg (
1535
- options::OPT_fptrauth_type_info_vtable_pointer_discrimination,
1536
- options::OPT_fno_ptrauth_type_info_vtable_pointer_discrimination))
1537
- CC1Args.push_back (" -fptrauth-type-info-vtable-pointer-discrimination" );
1538
-
1539
- if (!DriverArgs.hasArg (options::OPT_fptrauth_indirect_gotos,
1540
- options::OPT_fno_ptrauth_indirect_gotos))
1541
- CC1Args.push_back (" -fptrauth-indirect-gotos" );
1542
-
1543
- if (!DriverArgs.hasArg (options::OPT_fptrauth_init_fini,
1544
- options::OPT_fno_ptrauth_init_fini))
1545
- CC1Args.push_back (" -fptrauth-init-fini" );
1546
-
1547
- if (!DriverArgs.hasArg (
1548
- options::OPT_fptrauth_init_fini_address_discrimination,
1549
- options::OPT_fno_ptrauth_init_fini_address_discrimination))
1550
- CC1Args.push_back (" -fptrauth-init-fini-address-discrimination" );
1551
-
1552
- if (!DriverArgs.hasArg (options::OPT_faarch64_jump_table_hardening,
1553
- options::OPT_fno_aarch64_jump_table_hardening))
1554
- CC1Args.push_back (" -faarch64-jump-table-hardening" );
1555
- }
1556
-
1557
1504
static void CollectARMPACBTIOptions (const ToolChain &TC, const ArgList &Args,
1558
1505
ArgStringList &CmdArgs, bool isAArch64) {
1559
1506
const Arg *A = isAArch64
@@ -1783,7 +1730,9 @@ void RenderAArch64ABI(const llvm::Triple &Triple, const ArgList &Args,
1783
1730
ABIName = A->getValue ();
1784
1731
else if (Triple.isOSDarwin ())
1785
1732
ABIName = " darwinpcs" ;
1786
- else if (Triple.getEnvironment () == llvm::Triple::PAuthTest)
1733
+ // TODO: we probably want to have some target hook here.
1734
+ else if (Triple.isOSLinux () &&
1735
+ Triple.getEnvironment () == llvm::Triple::PAuthTest)
1787
1736
ABIName = " pauthtest" ;
1788
1737
else
1789
1738
ABIName = " aapcs" ;
@@ -1821,9 +1770,6 @@ void Clang::AddAArch64TargetArgs(const ArgList &Args,
1821
1770
// Enable/disable return address signing and indirect branch targets.
1822
1771
CollectARMPACBTIOptions (getToolChain (), Args, CmdArgs, true /* isAArch64*/ );
1823
1772
1824
- if (Triple.getEnvironment () == llvm::Triple::PAuthTest)
1825
- handlePAuthABI (Args, CmdArgs);
1826
-
1827
1773
// Handle -msve_vector_bits=<bits>
1828
1774
if (Arg *A = Args.getLastArg (options::OPT_msve_vector_bits_EQ)) {
1829
1775
StringRef Val = A->getValue ();
0 commit comments