mirror of
https://github.com/RPCS3/llvm.git
synced 2025-02-15 00:16:42 +00:00
Simplify isObject. NFC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@240783 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
aafe2ca7d5
commit
6909cca568
@ -777,26 +777,12 @@ static char getSymbolNMTypeChar(IRObjectFile &Obj, basic_symbol_iterator I) {
|
||||
return getSymbolNMTypeChar(*GV);
|
||||
}
|
||||
|
||||
template <class ELFT>
|
||||
static bool isELFObject(ELFObjectFile<ELFT> &Obj, symbol_iterator I) {
|
||||
typedef typename ELFObjectFile<ELFT>::Elf_Sym Elf_Sym;
|
||||
|
||||
DataRefImpl Symb = I->getRawDataRefImpl();
|
||||
const Elf_Sym *ESym = Obj.getSymbol(Symb);
|
||||
|
||||
return ESym->getType() == ELF::STT_OBJECT;
|
||||
}
|
||||
|
||||
static bool isObject(SymbolicFile &Obj, basic_symbol_iterator I) {
|
||||
if (ELF32LEObjectFile *ELF = dyn_cast<ELF32LEObjectFile>(&Obj))
|
||||
return isELFObject(*ELF, I);
|
||||
if (ELF64LEObjectFile *ELF = dyn_cast<ELF64LEObjectFile>(&Obj))
|
||||
return isELFObject(*ELF, I);
|
||||
if (ELF32BEObjectFile *ELF = dyn_cast<ELF32BEObjectFile>(&Obj))
|
||||
return isELFObject(*ELF, I);
|
||||
if (ELF64BEObjectFile *ELF = dyn_cast<ELF64BEObjectFile>(&Obj))
|
||||
return isELFObject(*ELF, I);
|
||||
return false;
|
||||
auto *ELF = dyn_cast<ELFObjectFileBase>(&Obj);
|
||||
if (!ELF)
|
||||
return false;
|
||||
|
||||
return elf_symbol_iterator(I)->getELFType() == ELF::STT_OBJECT;
|
||||
}
|
||||
|
||||
static char getNMTypeChar(SymbolicFile &Obj, basic_symbol_iterator I) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user