@@ -1665,6 +1665,42 @@ void Clang::AddAArch64TargetArgs(const ArgList &Args,
16651665
16661666 AddUnalignedAccessWarning (CmdArgs);
16671667
1668+ if (Triple.isOSDarwin () ||
1669+ (Triple.isOSLinux () &&
1670+ Triple.getEnvironment () == llvm::Triple::PAuthTest)) {
1671+ Args.addOptInFlag (CmdArgs, options::OPT_fptrauth_intrinsics,
1672+ options::OPT_fno_ptrauth_intrinsics);
1673+ Args.addOptInFlag (CmdArgs, options::OPT_fptrauth_calls,
1674+ options::OPT_fno_ptrauth_calls);
1675+ Args.addOptInFlag (CmdArgs, options::OPT_fptrauth_returns,
1676+ options::OPT_fno_ptrauth_returns);
1677+ Args.addOptInFlag (CmdArgs, options::OPT_fptrauth_auth_traps,
1678+ options::OPT_fno_ptrauth_auth_traps);
1679+ Args.addOptInFlag (
1680+ CmdArgs, options::OPT_fptrauth_vtable_pointer_address_discrimination,
1681+ options::OPT_fno_ptrauth_vtable_pointer_address_discrimination);
1682+ Args.addOptInFlag (
1683+ CmdArgs, options::OPT_fptrauth_vtable_pointer_type_discrimination,
1684+ options::OPT_fno_ptrauth_vtable_pointer_type_discrimination);
1685+ Args.addOptInFlag (
1686+ CmdArgs, options::OPT_fptrauth_type_info_vtable_pointer_discrimination,
1687+ options::OPT_fno_ptrauth_type_info_vtable_pointer_discrimination);
1688+ Args.addOptInFlag (
1689+ CmdArgs, options::OPT_fptrauth_function_pointer_type_discrimination,
1690+ options::OPT_fno_ptrauth_function_pointer_type_discrimination);
1691+ Args.addOptInFlag (CmdArgs, options::OPT_fptrauth_indirect_gotos,
1692+ options::OPT_fno_ptrauth_indirect_gotos);
1693+ }
1694+ if (Triple.isOSLinux () &&
1695+ Triple.getEnvironment () == llvm::Triple::PAuthTest) {
1696+ Args.addOptInFlag (CmdArgs, options::OPT_fptrauth_init_fini,
1697+ options::OPT_fno_ptrauth_init_fini);
1698+ Args.addOptInFlag (
1699+ CmdArgs, options::OPT_fptrauth_init_fini_address_discrimination,
1700+ options::OPT_fno_ptrauth_init_fini_address_discrimination);
1701+ Args.addOptInFlag (CmdArgs, options::OPT_fptrauth_elf_got,
1702+ options::OPT_fno_ptrauth_elf_got);
1703+ }
16681704 Args.addOptInFlag (CmdArgs, options::OPT_faarch64_jump_table_hardening,
16691705 options::OPT_fno_aarch64_jump_table_hardening);
16701706
0 commit comments