Object: Add isSymbolWeak.

llvm-svn: 142316
This commit is contained in:
Michael J. Spencer
2011-10-17 23:54:22 +00:00
parent 89a7a5ea1f
commit 017597540e
7 changed files with 46 additions and 1 deletions

View File

@@ -228,6 +228,20 @@ error_code MachOObjectFile::isSymbolGlobal(DataRefImpl Symb, bool &Res) const {
return object_error::success;
}
error_code MachOObjectFile::isSymbolWeak(DataRefImpl Symb, bool &Res) const {
if (MachOObj->is64Bit()) {
InMemoryStruct<macho::Symbol64TableEntry> Entry;
getSymbol64TableEntry(Symb, Entry);
Res = Entry->Flags & (MachO::NListDescWeakRef | MachO::NListDescWeakDef);
} else {
InMemoryStruct<macho::SymbolTableEntry> Entry;
getSymbolTableEntry(Symb, Entry);
Res = Entry->Flags & (MachO::NListDescWeakRef | MachO::NListDescWeakDef);
}
return object_error::success;
}
error_code MachOObjectFile::getSymbolType(DataRefImpl Symb,
SymbolRef::Type &Res) const {
uint8_t n_type;