https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70082
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> --- I don't think the compiler should do the policeman here, it is enough if glibc documents what it does and doesn't support in ifunc (which is of course generally arch dependent, it really depends on if you need e.g. RELATIVE relocations relocated in the current library/binary already, or if you need other data relocations, etc. E.g. calling hidden function or even non-hidden, as long as you hide it in symbol version script, is fine. Calling function from other library very likely not.