@@ -1477,59 +1477,6 @@ void AddUnalignedAccessWarning(ArgStringList &CmdArgs) {
1477
1477
}
1478
1478
}
1479
1479
1480
- // Each combination of options here forms a signing schema, and in most cases
1481
- // each signing schema is its own incompatible ABI. The default values of the
1482
- // options represent the default signing schema.
1483
- static void handlePAuthABI (const ArgList &DriverArgs, ArgStringList &CC1Args) {
1484
- if (!DriverArgs.hasArg (options::OPT_fptrauth_intrinsics,
1485
- options::OPT_fno_ptrauth_intrinsics))
1486
- CC1Args.push_back (" -fptrauth-intrinsics" );
1487
-
1488
- if (!DriverArgs.hasArg (options::OPT_fptrauth_calls,
1489
- options::OPT_fno_ptrauth_calls))
1490
- CC1Args.push_back (" -fptrauth-calls" );
1491
-
1492
- if (!DriverArgs.hasArg (options::OPT_fptrauth_returns,
1493
- options::OPT_fno_ptrauth_returns))
1494
- CC1Args.push_back (" -fptrauth-returns" );
1495
-
1496
- if (!DriverArgs.hasArg (options::OPT_fptrauth_auth_traps,
1497
- options::OPT_fno_ptrauth_auth_traps))
1498
- CC1Args.push_back (" -fptrauth-auth-traps" );
1499
-
1500
- if (!DriverArgs.hasArg (
1501
- options::OPT_fptrauth_vtable_pointer_address_discrimination,
1502
- options::OPT_fno_ptrauth_vtable_pointer_address_discrimination))
1503
- CC1Args.push_back (" -fptrauth-vtable-pointer-address-discrimination" );
1504
-
1505
- if (!DriverArgs.hasArg (
1506
- options::OPT_fptrauth_vtable_pointer_type_discrimination,
1507
- options::OPT_fno_ptrauth_vtable_pointer_type_discrimination))
1508
- CC1Args.push_back (" -fptrauth-vtable-pointer-type-discrimination" );
1509
-
1510
- if (!DriverArgs.hasArg (
1511
- options::OPT_fptrauth_type_info_vtable_pointer_discrimination,
1512
- options::OPT_fno_ptrauth_type_info_vtable_pointer_discrimination))
1513
- CC1Args.push_back (" -fptrauth-type-info-vtable-pointer-discrimination" );
1514
-
1515
- if (!DriverArgs.hasArg (options::OPT_fptrauth_indirect_gotos,
1516
- options::OPT_fno_ptrauth_indirect_gotos))
1517
- CC1Args.push_back (" -fptrauth-indirect-gotos" );
1518
-
1519
- if (!DriverArgs.hasArg (options::OPT_fptrauth_init_fini,
1520
- options::OPT_fno_ptrauth_init_fini))
1521
- CC1Args.push_back (" -fptrauth-init-fini" );
1522
-
1523
- if (!DriverArgs.hasArg (
1524
- options::OPT_fptrauth_init_fini_address_discrimination,
1525
- options::OPT_fno_ptrauth_init_fini_address_discrimination))
1526
- CC1Args.push_back (" -fptrauth-init-fini-address-discrimination" );
1527
-
1528
- if (!DriverArgs.hasArg (options::OPT_faarch64_jump_table_hardening,
1529
- options::OPT_fno_aarch64_jump_table_hardening))
1530
- CC1Args.push_back (" -faarch64-jump-table-hardening" );
1531
- }
1532
-
1533
1480
static void CollectARMPACBTIOptions (const ToolChain &TC, const ArgList &Args,
1534
1481
ArgStringList &CmdArgs, bool isAArch64) {
1535
1482
const Arg *A = isAArch64
@@ -1759,7 +1706,9 @@ void RenderAArch64ABI(const llvm::Triple &Triple, const ArgList &Args,
1759
1706
ABIName = A->getValue ();
1760
1707
else if (Triple.isOSDarwin ())
1761
1708
ABIName = " darwinpcs" ;
1762
- else if (Triple.getEnvironment () == llvm::Triple::PAuthTest)
1709
+ // TODO: we probably want to have some target hook here.
1710
+ else if (Triple.isOSLinux () &&
1711
+ Triple.getEnvironment () == llvm::Triple::PAuthTest)
1763
1712
ABIName = " pauthtest" ;
1764
1713
else
1765
1714
ABIName = " aapcs" ;
@@ -1797,9 +1746,6 @@ void Clang::AddAArch64TargetArgs(const ArgList &Args,
1797
1746
// Enable/disable return address signing and indirect branch targets.
1798
1747
CollectARMPACBTIOptions (getToolChain (), Args, CmdArgs, true /* isAArch64*/ );
1799
1748
1800
- if (Triple.getEnvironment () == llvm::Triple::PAuthTest)
1801
- handlePAuthABI (Args, CmdArgs);
1802
-
1803
1749
// Handle -msve_vector_bits=<bits>
1804
1750
if (Arg *A = Args.getLastArg (options::OPT_msve_vector_bits_EQ)) {
1805
1751
StringRef Val = A->getValue ();
0 commit comments