We documented GNU binutils and glibc versions required for ifunc support, but our own lld linker and FreeBSD's rtld also support ifuncs.
I think this is still too optimistic. Full support for ifunc seems to be generally limited to x86. Most other architectures lack even definitions for anonymous ifunc relocations or support proper relaxation only in limited forms. That's especially annoying when looking at static linking.