Remove a redundant boolean.

llvm-svn: 251921
This commit is contained in:
Rafael Espindola 2015-11-03 14:34:11 +00:00
parent cf41c0c930
commit 9b89608698
3 changed files with 8 additions and 7 deletions

View File

@ -650,7 +650,7 @@ typename ELFFile<ELFT>::uintX_t lld::elf2::getSymVA(const SymbolBody &S) {
return Out<ELFT>::Bss->getVA() + cast<DefinedCommon<ELFT>>(S).OffsetInBSS;
case SymbolBody::SharedKind: {
auto &SS = cast<SharedSymbol<ELFT>>(S);
if (SS.NeedsCopy)
if (SS.needsCopy())
return Out<ELFT>::Bss->getVA() + SS.OffsetInBSS;
return 0;
}
@ -1005,7 +1005,7 @@ void SymbolTableSection<ELFT>::writeGlobalSymbols(uint8_t *Buf) {
OutSec = Out<ELFT>::Bss;
break;
case SymbolBody::SharedKind: {
if (cast<SharedSymbol<ELFT>>(Body)->NeedsCopy)
if (cast<SharedSymbol<ELFT>>(Body)->needsCopy())
OutSec = Out<ELFT>::Bss;
break;
}

View File

@ -284,8 +284,8 @@ public:
SharedFile<ELFT> *File;
// Can have offset if requires copy relocation.
uintX_t OffsetInBSS = 0;
bool NeedsCopy = false;
uintX_t OffsetInBSS = -1;
bool needsCopy() const { return OffsetInBSS != (uintX_t)-1; }
};
// This class represents a symbol defined in an archive file. It is

View File

@ -201,9 +201,10 @@ void Writer<ELFT>::scanRelocs(
bool NeedsPlt = false;
if (Body) {
if (auto *E = dyn_cast<SharedSymbol<ELFT>>(Body)) {
if (E->NeedsCopy)
if (E->needsCopy())
continue;
E->NeedsCopy = Target->relocNeedsCopy(Type, *Body);
if (Target->relocNeedsCopy(Type, *Body))
E->OffsetInBSS = 0;
}
NeedsPlt = Target->relocNeedsPlt(Type, *Body);
if (NeedsPlt) {
@ -535,7 +536,7 @@ template <class ELFT> void Writer<ELFT>::createSections() {
if (auto *C = dyn_cast<DefinedCommon<ELFT>>(Body))
CommonSymbols.push_back(C);
if (auto *SC = dyn_cast<SharedSymbol<ELFT>>(Body))
if (SC->NeedsCopy)
if (SC->needsCopy())
SharedCopySymbols.push_back(SC);
if (!includeInSymtab<ELFT>(*Body))