@@ -1501,59 +1501,6 @@ void AddUnalignedAccessWarning(ArgStringList &CmdArgs) {
15011501}
15021502}
15031503
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-
15571504static void CollectARMPACBTIOptions (const ToolChain &TC, const ArgList &Args,
15581505 ArgStringList &CmdArgs, bool isAArch64) {
15591506 const Arg *A = isAArch64
@@ -1783,7 +1730,9 @@ void RenderAArch64ABI(const llvm::Triple &Triple, const ArgList &Args,
17831730 ABIName = A->getValue ();
17841731 else if (Triple.isOSDarwin ())
17851732 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)
17871736 ABIName = " pauthtest" ;
17881737 else
17891738 ABIName = " aapcs" ;
@@ -1821,9 +1770,6 @@ void Clang::AddAArch64TargetArgs(const ArgList &Args,
18211770 // Enable/disable return address signing and indirect branch targets.
18221771 CollectARMPACBTIOptions (getToolChain (), Args, CmdArgs, true /* isAArch64*/ );
18231772
1824- if (Triple.getEnvironment () == llvm::Triple::PAuthTest)
1825- handlePAuthABI (Args, CmdArgs);
1826-
18271773 // Handle -msve_vector_bits=<bits>
18281774 if (Arg *A = Args.getLastArg (options::OPT_msve_vector_bits_EQ)) {
18291775 StringRef Val = A->getValue ();
0 commit comments