[PATCH] D35064: [lib/LTO] Fix the interaction between linker redefined symbols and ThinLTO

Rafael Avila de Espindola via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 6 10:11:39 PDT 2017


Davide Italiano via Phabricator <reviews at reviews.llvm.org> writes:
>    auto updateLinkage = [&](GlobalValue &GV) {
> -    if (!GlobalValue::isWeakForLinker(GV.getLinkage()))
> +    // Only rename symbols that are weak for the linker, i.e.
> +    // have linkonce or linkonce_odr linkage or have been explicitly
> +    // redefined at link time, via, e.g. --wrap or -defsym (in ELF).
> +    if (GV.getLinkage() == GlobalValue::AppendingLinkage ||
> +        GV.getLinkage() == GlobalValue::ExternalLinkage)
>        return;

The net change in here is that now it doesn't return for

    AvailableExternallyLinkage
    InternalLinkage
    PrivateLinkage

How is InternalLinkage and PrivateLinkage related to --wrap?

Cheers,
Rafael


More information about the llvm-commits mailing list