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