[ELF] Avoid wrapping unreferenced lazy symbols
There's a couple of motivations here: * LLD 12 (which I was originally testing with) was adding an undefined symbol to the symbol table if you attempted to wrap an unreferenced lazy symbol, which would later break `--no-allow-shlib-undefined`. LLD on main actually produces a weak undefined symbol, so this doesn't break anyway, but it's cleaner to not have the weak undefined symbol as well. The new behavior also matches bfd and gold. * PROVIDE in a linker script referencing a wrapped symbol would think that an otherwise-unreferenced lazy symbol which was wrapped was actually referenced, and therefore proceed with the definition, which goes against expectations. The new behavior also matches bfd and gold. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D118756
Loading
Please sign in to comment