[clang] [compiler-rt] [llvm] [AIX] Implement the ifunc attribute. (PR #153049)
Wael Yehia via llvm-commits
llvm-commits at lists.llvm.org
Fri Sep 19 08:16:15 PDT 2025
================
@@ -146,26 +146,9 @@ void aix::Linker::ConstructJob(Compilation &C, const JobAction &JA,
CmdArgs.push_back("-bforceimprw");
}
- // PGO instrumentation generates symbols belonging to special sections, and
- // the linker needs to place all symbols in a particular section together in
- // memory; the AIX linker does that under an option.
- if (Args.hasFlag(options::OPT_fprofile_arcs, options::OPT_fno_profile_arcs,
- false) ||
- Args.hasFlag(options::OPT_fprofile_generate,
- options::OPT_fno_profile_generate, false) ||
- Args.hasFlag(options::OPT_fprofile_generate_EQ,
- options::OPT_fno_profile_generate, false) ||
- Args.hasFlag(options::OPT_fprofile_instr_generate,
- options::OPT_fno_profile_instr_generate, false) ||
- Args.hasFlag(options::OPT_fprofile_instr_generate_EQ,
- options::OPT_fno_profile_instr_generate, false) ||
- Args.hasFlag(options::OPT_fcs_profile_generate,
- options::OPT_fno_profile_generate, false) ||
- Args.hasFlag(options::OPT_fcs_profile_generate_EQ,
- options::OPT_fno_profile_generate, false) ||
- Args.hasArg(options::OPT_fcreate_profile) ||
- Args.hasArg(options::OPT_coverage))
- CmdArgs.push_back("-bdbg:namedsects:ss");
+ // ifunc support, which is ON by default, generates named sections.
----------------
w2yehia wrote:
added comment on what AIX version supports it. Unfortunately we are not able to detect the TL (VersionTuple::Subminor) and SP levels (the 3rd and 4th numbers in an AIX version string) at runtime accurately, so we will simply check if it's >= 7.2.0.0. Also improved comment
https://github.com/llvm/llvm-project/pull/153049
More information about the llvm-commits
mailing list