[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