[lld] r313372 - Keep some relocations with undefined weak symbols.

Davide Italiano via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 15 11:11:45 PDT 2017


On Fri, Sep 15, 2017 at 11:05 AM, Rafael Espindola via llvm-commits
<llvm-commits at lists.llvm.org> wrote:
> Author: rafael
> Date: Fri Sep 15 11:05:02 2017
> New Revision: 313372
>
> URL: http://llvm.org/viewvc/llvm-project?rev=313372&view=rev
> Log:
> Keep some relocations with undefined weak symbols.
>
> This fixes pr34301.
>
> As the bug points out, we want to keep some relocations with undefined
> weak symbols. This means that we cannot always claim that these
> symbols are not preemptible as we do now.
>
> Unfortunately, we cannot also just always claim that they are
> preemptible. Doing so would, for example, cause us to try to create a
> plt entry when we don't even have a dynamic symbol table.
>
> What almost works is to say that weak undefined symbols are
> preemptible if and only if we have a dynamic symbol table. Almost
> because we don't want to fail the build trying to create a copy
> relocation to a weak undefined.
>

For reference, this is https://reviews.llvm.org/D37837

--
Davide


More information about the llvm-commits mailing list