@@ -1500,59 +1500,6 @@ void AddUnalignedAccessWarning(ArgStringList &CmdArgs) {
15001500}
15011501}
15021502
1503- // Each combination of options here forms a signing schema, and in most cases
1504- // each signing schema is its own incompatible ABI. The default values of the
1505- // options represent the default signing schema.
1506- static void handlePAuthABI (const ArgList &DriverArgs, ArgStringList &CC1Args) {
1507- if (!DriverArgs.hasArg (options::OPT_fptrauth_intrinsics,
1508- options::OPT_fno_ptrauth_intrinsics))
1509- CC1Args.push_back (" -fptrauth-intrinsics" );
1510-
1511- if (!DriverArgs.hasArg (options::OPT_fptrauth_calls,
1512- options::OPT_fno_ptrauth_calls))
1513- CC1Args.push_back (" -fptrauth-calls" );
1514-
1515- if (!DriverArgs.hasArg (options::OPT_fptrauth_returns,
1516- options::OPT_fno_ptrauth_returns))
1517- CC1Args.push_back (" -fptrauth-returns" );
1518-
1519- if (!DriverArgs.hasArg (options::OPT_fptrauth_auth_traps,
1520- options::OPT_fno_ptrauth_auth_traps))
1521- CC1Args.push_back (" -fptrauth-auth-traps" );
1522-
1523- if (!DriverArgs.hasArg (
1524- options::OPT_fptrauth_vtable_pointer_address_discrimination,
1525- options::OPT_fno_ptrauth_vtable_pointer_address_discrimination))
1526- CC1Args.push_back (" -fptrauth-vtable-pointer-address-discrimination" );
1527-
1528- if (!DriverArgs.hasArg (
1529- options::OPT_fptrauth_vtable_pointer_type_discrimination,
1530- options::OPT_fno_ptrauth_vtable_pointer_type_discrimination))
1531- CC1Args.push_back (" -fptrauth-vtable-pointer-type-discrimination" );
1532-
1533- if (!DriverArgs.hasArg (
1534- options::OPT_fptrauth_type_info_vtable_pointer_discrimination,
1535- options::OPT_fno_ptrauth_type_info_vtable_pointer_discrimination))
1536- CC1Args.push_back (" -fptrauth-type-info-vtable-pointer-discrimination" );
1537-
1538- if (!DriverArgs.hasArg (options::OPT_fptrauth_indirect_gotos,
1539- options::OPT_fno_ptrauth_indirect_gotos))
1540- CC1Args.push_back (" -fptrauth-indirect-gotos" );
1541-
1542- if (!DriverArgs.hasArg (options::OPT_fptrauth_init_fini,
1543- options::OPT_fno_ptrauth_init_fini))
1544- CC1Args.push_back (" -fptrauth-init-fini" );
1545-
1546- if (!DriverArgs.hasArg (
1547- options::OPT_fptrauth_init_fini_address_discrimination,
1548- options::OPT_fno_ptrauth_init_fini_address_discrimination))
1549- CC1Args.push_back (" -fptrauth-init-fini-address-discrimination" );
1550-
1551- if (!DriverArgs.hasArg (options::OPT_faarch64_jump_table_hardening,
1552- options::OPT_fno_aarch64_jump_table_hardening))
1553- CC1Args.push_back (" -faarch64-jump-table-hardening" );
1554- }
1555-
15561503static void CollectARMPACBTIOptions (const ToolChain &TC, const ArgList &Args,
15571504 ArgStringList &CmdArgs, bool isAArch64) {
15581505 const Arg *A = isAArch64
@@ -1782,7 +1729,9 @@ void RenderAArch64ABI(const llvm::Triple &Triple, const ArgList &Args,
17821729 ABIName = A->getValue ();
17831730 else if (Triple.isOSDarwin ())
17841731 ABIName = " darwinpcs" ;
1785- else if (Triple.getEnvironment () == llvm::Triple::PAuthTest)
1732+ // TODO: we probably want to have some target hook here.
1733+ else if (Triple.isOSLinux () &&
1734+ Triple.getEnvironment () == llvm::Triple::PAuthTest)
17861735 ABIName = " pauthtest" ;
17871736 else
17881737 ABIName = " aapcs" ;
@@ -1820,9 +1769,6 @@ void Clang::AddAArch64TargetArgs(const ArgList &Args,
18201769 // Enable/disable return address signing and indirect branch targets.
18211770 CollectARMPACBTIOptions (getToolChain (), Args, CmdArgs, true /* isAArch64*/ );
18221771
1823- if (Triple.getEnvironment () == llvm::Triple::PAuthTest)
1824- handlePAuthABI (Args, CmdArgs);
1825-
18261772 // Handle -msve_vector_bits=<bits>
18271773 if (Arg *A = Args.getLastArg (options::OPT_msve_vector_bits_EQ)) {
18281774 StringRef Val = A->getValue ();
0 commit comments