[llvm] [AArch64] Make IFUNC opt-in rather than opt-out. (PR #171648)
Peter Collingbourne via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 10 10:52:50 PST 2025
pcc wrote:
> I do not think musl is alone in not supporting it, I see no support for it in uclibc-ng either.
Yeah, there are some others that don't support it.
> What are the other triples that do support IFUNCs? Searching a bit more, I find FreeBSD and bionic and have no issue adding these in this PR, are there more?
I wanted to avoid this turning into a long list of libcs but maybe that would be better than the somewhat confusing predicate that I added in #133533. From a quick look:
- Support: glibc, bionic, FreeBSD, DragonflyBSD, NetBSD
- Do not support: musl, OpenBSD, uclibc-ng I guess
So how about we make the logic like this: if the libc supports IFUNC (according to the list above), use IFUNC, otherwise use PAuth relocations. That's still not 100% correct because we will end up using PAuth relocations even when we don't know that the target supports them, but that was the status quo before so maybe that's fine.
> I think that would be wrong, `pauthtest` does not imply any particular libc. Any triple that does not indicate what loader is used should be taken as suggesting a loader _may_ be used that does not support IFUNC.
Okay, I was under the impression that `pauthtest` referred to the musl-based system that was created for testing.
https://github.com/llvm/llvm-project/pull/171648
More information about the llvm-commits
mailing list