if (std::error_code ec = symbolName.getError())
return ec;
- if (isAbsoluteSymbol(&*SymI)) {
+ if (SymI->isAbsolute()) {
ELFAbsoluteAtom<ELFT> *absAtom = createAbsoluteAtom(
*symbolName, &*SymI, (int64_t)getSymbolValue(&*SymI));
addAtom(*absAtom);
_symbolToAtomMapping.insert(std::make_pair(&*SymI, absAtom));
- } else if (isUndefinedSymbol(&*SymI)) {
+ } else if (SymI->isUndefined()) {
if (_useWrap &&
(_wrapSymbolMap.find(*symbolName) != _wrapSymbolMap.end())) {
auto wrapAtom = _wrapSymbolMap.find(*symbolName);
commonAtom->setOrdinal(++_ordinal);
addAtom(*commonAtom);
_symbolToAtomMapping.insert(std::make_pair(&*SymI, commonAtom));
- } else if (isDefinedSymbol(&*SymI)) {
+ } else if (SymI->isDefined()) {
_sectionSymbols[section].push_back(SymI);
} else {
llvm::errs() << "Unable to create atom for: " << *symbolName << "\n";
return _objFile->getSectionContents(shdr);
}
- /// Returns true if the symbol is a undefined symbol.
- bool isUndefinedSymbol(const Elf_Sym *sym) const {
- return (sym->st_shndx == llvm::ELF::SHN_UNDEF);
- }
-
/// Determines if the target wants to create an atom for a section that has no
/// symbol references.
bool handleSectionWithNoSymbols(const Elf_Shdr *shdr,
return new (_readerStorage) ELFUndefinedAtom<ELFT>(*this, symName, sym);
}
- /// Returns true if the symbol is a absolute symbol.
- bool isAbsoluteSymbol(const Elf_Sym *sym) const {
- return (sym->st_shndx == llvm::ELF::SHN_ABS);
- }
-
/// Process the Absolute symbol and create an atom for it.
ELFAbsoluteAtom<ELFT> *createAbsoluteAtom(StringRef symName,
const Elf_Sym *sym, int64_t value) {
return new (_readerStorage) ELFCommonAtom<ELFT>(*this, symName, sym);
}
- /// Returns true if the symbol is a defined symbol.
- virtual bool isDefinedSymbol(const Elf_Sym *sym) const {
- return (sym->getType() == llvm::ELF::STT_NOTYPE ||
- sym->getType() == llvm::ELF::STT_OBJECT ||
- sym->getType() == llvm::ELF::STT_FUNC ||
- sym->getType() == llvm::ELF::STT_GNU_IFUNC ||
- sym->getType() == llvm::ELF::STT_SECTION ||
- sym->getType() == llvm::ELF::STT_FILE ||
- sym->getType() == llvm::ELF::STT_TLS);
- }
-
/// Creates an atom for a given defined symbol.
virtual ELFDefinedAtom<ELFT> *
createDefinedAtom(StringRef symName, StringRef sectionName,