@@ -1348,59 +1348,6 @@ void AddUnalignedAccessWarning(ArgStringList &CmdArgs) {
13481348}
13491349}
13501350
1351- // Each combination of options here forms a signing schema, and in most cases
1352- // each signing schema is its own incompatible ABI. The default values of the
1353- // options represent the default signing schema.
1354- static void handlePAuthABI (const ArgList &DriverArgs, ArgStringList &CC1Args) {
1355- if (!DriverArgs.hasArg (options::OPT_fptrauth_intrinsics,
1356- options::OPT_fno_ptrauth_intrinsics))
1357- CC1Args.push_back (" -fptrauth-intrinsics" );
1358-
1359- if (!DriverArgs.hasArg (options::OPT_fptrauth_calls,
1360- options::OPT_fno_ptrauth_calls))
1361- CC1Args.push_back (" -fptrauth-calls" );
1362-
1363- if (!DriverArgs.hasArg (options::OPT_fptrauth_returns,
1364- options::OPT_fno_ptrauth_returns))
1365- CC1Args.push_back (" -fptrauth-returns" );
1366-
1367- if (!DriverArgs.hasArg (options::OPT_fptrauth_auth_traps,
1368- options::OPT_fno_ptrauth_auth_traps))
1369- CC1Args.push_back (" -fptrauth-auth-traps" );
1370-
1371- if (!DriverArgs.hasArg (
1372- options::OPT_fptrauth_vtable_pointer_address_discrimination,
1373- options::OPT_fno_ptrauth_vtable_pointer_address_discrimination))
1374- CC1Args.push_back (" -fptrauth-vtable-pointer-address-discrimination" );
1375-
1376- if (!DriverArgs.hasArg (
1377- options::OPT_fptrauth_vtable_pointer_type_discrimination,
1378- options::OPT_fno_ptrauth_vtable_pointer_type_discrimination))
1379- CC1Args.push_back (" -fptrauth-vtable-pointer-type-discrimination" );
1380-
1381- if (!DriverArgs.hasArg (
1382- options::OPT_fptrauth_type_info_vtable_pointer_discrimination,
1383- options::OPT_fno_ptrauth_type_info_vtable_pointer_discrimination))
1384- CC1Args.push_back (" -fptrauth-type-info-vtable-pointer-discrimination" );
1385-
1386- if (!DriverArgs.hasArg (options::OPT_fptrauth_indirect_gotos,
1387- options::OPT_fno_ptrauth_indirect_gotos))
1388- CC1Args.push_back (" -fptrauth-indirect-gotos" );
1389-
1390- if (!DriverArgs.hasArg (options::OPT_fptrauth_init_fini,
1391- options::OPT_fno_ptrauth_init_fini))
1392- CC1Args.push_back (" -fptrauth-init-fini" );
1393-
1394- if (!DriverArgs.hasArg (
1395- options::OPT_fptrauth_init_fini_address_discrimination,
1396- options::OPT_fno_ptrauth_init_fini_address_discrimination))
1397- CC1Args.push_back (" -fptrauth-init-fini-address-discrimination" );
1398-
1399- if (!DriverArgs.hasArg (options::OPT_faarch64_jump_table_hardening,
1400- options::OPT_fno_aarch64_jump_table_hardening))
1401- CC1Args.push_back (" -faarch64-jump-table-hardening" );
1402- }
1403-
14041351static void CollectARMPACBTIOptions (const ToolChain &TC, const ArgList &Args,
14051352 ArgStringList &CmdArgs, bool isAArch64) {
14061353 const llvm::Triple &Triple = TC.getEffectiveTriple ();
@@ -1638,7 +1585,9 @@ void RenderAArch64ABI(const llvm::Triple &Triple, const ArgList &Args,
16381585 ABIName = A->getValue ();
16391586 else if (Triple.isOSDarwin ())
16401587 ABIName = " darwinpcs" ;
1641- else if (Triple.getEnvironment () == llvm::Triple::PAuthTest)
1588+ // TODO: we probably want to have some target hook here.
1589+ else if (Triple.isOSLinux () &&
1590+ Triple.getEnvironment () == llvm::Triple::PAuthTest)
16421591 ABIName = " pauthtest" ;
16431592 else
16441593 ABIName = " aapcs" ;
@@ -1758,8 +1707,6 @@ void Clang::AddAArch64TargetArgs(const ArgList &Args,
17581707 options::OPT_fno_ptrauth_objc_interface_sel);
17591708 Args.addOptInFlag (CmdArgs, options::OPT_fptrauth_objc_class_ro,
17601709 options::OPT_fno_ptrauth_objc_class_ro);
1761- if (Triple.getEnvironment () == llvm::Triple::PAuthTest)
1762- handlePAuthABI (Args, CmdArgs);
17631710
17641711 // Enable/disable return address signing and indirect branch targets.
17651712 CollectARMPACBTIOptions (getToolChain (), Args, CmdArgs, true /* isAArch64*/ );
0 commit comments