This is needed to ensure that resolvers that reference global symbols
return correct results.
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential D33120
link_elf_obj: Process global ifunc relocs after other global relocs markj on Nov 25 2021, 6:53 PM. Authored by Tags None Referenced Files
Subscribers
Details This is needed to ensure that resolvers that reference global symbols MFC after: 1 week
Diff Detail
Event TimelineComment Actions This is definitely an improvement because before, global ifunc symbols were not resolved at all. But ultimately, it does not matter if the symbol is global or not, ifuncs generally should be processed after other types of relocations, global or local. Comment Actions In fact, this is now what happens in practice. We relocate local !ifunc symbol references first, then global (now separate passes for ifuncs), then local ifuncs. I'm not sure why it's split out that way. Perhaps we could at least combine the ifunc passes, but I would defer it to a separate patch. |