From 00ecdb53d0c166933899ef2d6aa6d92433c1b273 Mon Sep 17 00:00:00 2001 From: Rui Ueyama Date: Tue, 7 Apr 2015 01:04:15 +0000 Subject: [PATCH] ELF: Do not return error from handleUndefinedSymbol. This function is not supposed to return an error value. llvm-svn: 234271 --- lld/lib/ReaderWriter/ELF/ELFFile.h | 32 +++++++++++++++--------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/lld/lib/ReaderWriter/ELF/ELFFile.h b/lld/lib/ReaderWriter/ELF/ELFFile.h index d2e6b39d6b34..38e8226186e0 100644 --- a/lld/lib/ReaderWriter/ELF/ELFFile.h +++ b/lld/lib/ReaderWriter/ELF/ELFFile.h @@ -262,8 +262,8 @@ protected: const Elf_Shdr *shdr); /// Process the Undefined symbol and create an atom for it. - ErrorOr *> - handleUndefinedSymbol(StringRef symName, const Elf_Sym *sym) { + ELFUndefinedAtom *createUndefinedAtom(StringRef symName, + const Elf_Sym *sym) { return new (_readerStorage) ELFUndefinedAtom(*this, symName, sym); } @@ -460,16 +460,16 @@ public: /// \brief add an undefined atom virtual Atom *addUndefinedAtom(StringRef symbolName) { assert(!symbolName.empty() && "UndefinedAtoms must have a name"); - Elf_Sym *symbol = new (this->_readerStorage) Elf_Sym; - symbol->st_name = 0; - symbol->st_value = 0; - symbol->st_shndx = llvm::ELF::SHN_UNDEF; - symbol->setBindingAndType(llvm::ELF::STB_GLOBAL, llvm::ELF::STT_NOTYPE); - symbol->setVisibility(llvm::ELF::STV_DEFAULT); - symbol->st_size = 0; - auto newAtom = this->handleUndefinedSymbol(symbolName, symbol); - this->_undefinedAtoms._atoms.push_back(*newAtom); - return *newAtom; + Elf_Sym *sym = new (this->_readerStorage) Elf_Sym; + sym->st_name = 0; + sym->st_value = 0; + sym->st_shndx = llvm::ELF::SHN_UNDEF; + sym->setBindingAndType(llvm::ELF::STB_GLOBAL, llvm::ELF::STT_NOTYPE); + sym->setVisibility(llvm::ELF::STV_DEFAULT); + sym->st_size = 0; + ELFUndefinedAtom *atom = this->createUndefinedAtom(symbolName, sym); + this->_undefinedAtoms._atoms.push_back(atom); + return atom; } // cannot add atoms to Runtime file @@ -646,10 +646,10 @@ std::error_code ELFFile::createSymbolsFromAtomizableSections() { std::make_pair(&*SymI, wrapAtom->getValue())); continue; } - ErrorOr *> undefAtom = - handleUndefinedSymbol(*symbolName, &*SymI); - _undefinedAtoms._atoms.push_back(*undefAtom); - _symbolToAtomMapping.insert(std::make_pair(&*SymI, *undefAtom)); + ELFUndefinedAtom *undefAtom = + createUndefinedAtom(*symbolName, &*SymI); + _undefinedAtoms._atoms.push_back(undefAtom); + _symbolToAtomMapping.insert(std::make_pair(&*SymI, undefAtom)); } else if (isCommonSymbol(&*SymI)) { ErrorOr *> commonAtom = handleCommonSymbol(*symbolName, &*SymI); -- 2.34.1