@@ -1477,59 +1477,6 @@ void AddUnalignedAccessWarning(ArgStringList &CmdArgs) {
14771477}
14781478}
14791479
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-
15331480static void CollectARMPACBTIOptions (const ToolChain &TC, const ArgList &Args,
15341481 ArgStringList &CmdArgs, bool isAArch64) {
15351482 const Arg *A = isAArch64
@@ -1759,7 +1706,9 @@ void RenderAArch64ABI(const llvm::Triple &Triple, const ArgList &Args,
17591706 ABIName = A->getValue ();
17601707 else if (Triple.isOSDarwin ())
17611708 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)
17631712 ABIName = " pauthtest" ;
17641713 else
17651714 ABIName = " aapcs" ;
@@ -1797,9 +1746,6 @@ void Clang::AddAArch64TargetArgs(const ArgList &Args,
17971746 // Enable/disable return address signing and indirect branch targets.
17981747 CollectARMPACBTIOptions (getToolChain (), Args, CmdArgs, true /* isAArch64*/ );
17991748
1800- if (Triple.getEnvironment () == llvm::Triple::PAuthTest)
1801- handlePAuthABI (Args, CmdArgs);
1802-
18031749 // Handle -msve_vector_bits=<bits>
18041750 if (Arg *A = Args.getLastArg (options::OPT_msve_vector_bits_EQ)) {
18051751 StringRef Val = A->getValue ();
0 commit comments