https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93274
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |marxin at gcc dot gnu.org --- Comment #5 from Martin Liška <marxin at gcc dot gnu.org> --- (In reply to Alexander Monakov from comment #4) > IFUNCs don't have to be somehow "globally visible". The comment is there > from day 1, but it's not clear why - possibly a misunderstanding? GCC > happily accepts a static ifunc, and rest of toolchain should have no problem > either: > > __attribute__((used,ifunc("r_f"))) > static void f(); > > static void *r_f() > { > return 0; > } > .type r_f, @function > r_f: > xorl %eax, %eax > ret > .size r_f, .-r_f > .type f, @gnu_indirect_function > .set f,r_f Great Alexander. Then let me to test the suggested change.