[lld] r259889 - Rename IsUsedInDynamicReloc to MustBeInDynSym.

Rui Ueyama via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 5 10:06:45 PST 2016


Thanks. The new name is much better than before.

On Fri, Feb 5, 2016 at 7:27 AM, Rafael Espindola via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

> Author: rafael
> Date: Fri Feb  5 09:27:15 2016
> New Revision: 259889
>
> URL: http://llvm.org/viewvc/llvm-project?rev=259889&view=rev
> Log:
> Rename IsUsedInDynamicReloc to MustBeInDynSym.
>
> The variable was marking various cases where a symbol must be included
> in the dynamic symbol table. Being used by a dynamic relocation was only
> one of them.
>
> Modified:
>     lld/trunk/ELF/OutputSections.cpp
>     lld/trunk/ELF/SymbolTable.cpp
>     lld/trunk/ELF/Symbols.cpp
>     lld/trunk/ELF/Symbols.h
>     lld/trunk/ELF/Writer.cpp
>
> Modified: lld/trunk/ELF/OutputSections.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/OutputSections.cpp?rev=259889&r1=259888&r2=259889&view=diff
>
> ==============================================================================
> --- lld/trunk/ELF/OutputSections.cpp (original)
> +++ lld/trunk/ELF/OutputSections.cpp Fri Feb  5 09:27:15 2016
> @@ -219,7 +219,7 @@ template <class ELFT>
>  void RelocationSection<ELFT>::addReloc(const DynamicReloc<ELFT> &Reloc) {
>    SymbolBody *Sym = Reloc.Sym;
>    if (!Reloc.UseSymVA && Sym)
> -    Sym->setUsedInDynamicReloc();
> +    Sym->MustBeInDynSym = true;
>    Relocs.push_back(Reloc);
>  }
>
>
> Modified: lld/trunk/ELF/SymbolTable.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/SymbolTable.cpp?rev=259889&r1=259888&r2=259889&view=diff
>
> ==============================================================================
> --- lld/trunk/ELF/SymbolTable.cpp (original)
> +++ lld/trunk/ELF/SymbolTable.cpp Fri Feb  5 09:27:15 2016
> @@ -268,7 +268,7 @@ template <class ELFT> void SymbolTable<E
>      for (StringRef U : File->getUndefinedSymbols())
>        if (SymbolBody *Sym = find(U))
>          if (Sym->isDefined())
> -          Sym->setUsedInDynamicReloc();
> +          Sym->MustBeInDynSym = true;
>  }
>
>  template class elf2::SymbolTable<ELF32LE>;
>
> Modified: lld/trunk/ELF/Symbols.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Symbols.cpp?rev=259889&r1=259888&r2=259889&view=diff
>
> ==============================================================================
> --- lld/trunk/ELF/Symbols.cpp (original)
> +++ lld/trunk/ELF/Symbols.cpp Fri Feb  5 09:27:15 2016
> @@ -128,7 +128,7 @@ template <class ELFT> int SymbolBody::co
>    // symbols in the DSO at runtime.
>    if (isShared() != Other->isShared())
>      if (isa<DefinedRegular<ELFT>>(isShared() ? Other : this))
> -      IsUsedInDynamicReloc = Other->IsUsedInDynamicReloc = true;
> +      MustBeInDynSym = Other->MustBeInDynSym = true;
>
>    if (L != R)
>      return -1;
>
> Modified: lld/trunk/ELF/Symbols.h
> URL:
> http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Symbols.h?rev=259889&r1=259888&r2=259889&view=diff
>
> ==============================================================================
> --- lld/trunk/ELF/Symbols.h (original)
> +++ lld/trunk/ELF/Symbols.h Fri Feb  5 09:27:15 2016
> @@ -83,8 +83,6 @@ public:
>    bool isLazy() const { return SymbolKind == LazyKind; }
>    bool isShared() const { return SymbolKind == SharedKind; }
>    bool isUsedInRegularObj() const { return IsUsedInRegularObj; }
> -  bool isUsedInDynamicReloc() const { return IsUsedInDynamicReloc; }
> -  void setUsedInDynamicReloc() { IsUsedInDynamicReloc = true; }
>    bool isTls() const { return IsTls; }
>    bool isFunc() const { return IsFunc; }
>
> @@ -131,10 +129,9 @@ public:
>  protected:
>    SymbolBody(Kind K, StringRef Name, bool IsWeak, uint8_t Visibility,
>               bool IsTls, bool IsFunc)
> -      : SymbolKind(K), IsWeak(IsWeak), Visibility(Visibility),
> IsTls(IsTls),
> -        IsFunc(IsFunc), Name(Name) {
> +      : SymbolKind(K), IsWeak(IsWeak), Visibility(Visibility),
> +        MustBeInDynSym(false), IsTls(IsTls), IsFunc(IsFunc), Name(Name) {
>      IsUsedInRegularObj = K != SharedKind && K != LazyKind;
> -    IsUsedInDynamicReloc = 0;
>    }
>
>    const unsigned SymbolKind : 8;
> @@ -147,9 +144,11 @@ protected:
>    // it can be false.
>    unsigned IsUsedInRegularObj : 1;
>
> +public:
>    // If true, the symbol is added to .dynsym symbol table.
> -  unsigned IsUsedInDynamicReloc : 1;
> +  unsigned MustBeInDynSym : 1;
>
> +protected:
>    unsigned IsTls : 1;
>    unsigned IsFunc : 1;
>    StringRef Name;
>
> Modified: lld/trunk/ELF/Writer.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Writer.cpp?rev=259889&r1=259888&r2=259889&view=diff
>
> ==============================================================================
> --- lld/trunk/ELF/Writer.cpp (original)
> +++ lld/trunk/ELF/Writer.cpp Fri Feb  5 09:27:15 2016
> @@ -366,8 +366,7 @@ void Writer<ELFT>::scanRelocs(
>          // See "Global Offset Table" in Chapter 5 in the following
> document
>          // for detailed description:
>          // ftp://www.linux-mips.org/pub/linux/mips/doc/ABI/mipsabi.pdf
> -        // FIXME: Why do we need to set this here?
> -        Body->setUsedInDynamicReloc();
> +        Body->MustBeInDynSym = true;
>          continue;
>        }
>
> @@ -778,7 +777,7 @@ static bool includeInDynsym(const Symbol
>      return false;
>    if (Config->ExportDynamic || Config->Shared)
>      return true;
> -  return B.isUsedInDynamicReloc();
> +  return B.MustBeInDynSym;
>  }
>
>  // This class knows how to create an output section for a given
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160205/acee75af/attachment.html>


More information about the llvm-commits mailing list