summaryrefslogtreecommitdiffstats
path: root/lldb/source/Symbol/ObjectFile.cpp
diff options
context:
space:
mode:
authorJason Molenda <jmolenda@apple.com>2015-11-10 05:21:54 +0000
committerJason Molenda <jmolenda@apple.com>2015-11-10 05:21:54 +0000
commit649a607e11d64f69cf972bcaee3103475826f67c (patch)
tree9318198d312f3574ac542445f8fe6857e6e91239 /lldb/source/Symbol/ObjectFile.cpp
parentfd778eebac29fdc9951704f81c8b073772f70382 (diff)
downloadbcm5719-llvm-649a607e11d64f69cf972bcaee3103475826f67c.tar.gz
bcm5719-llvm-649a607e11d64f69cf972bcaee3103475826f67c.zip
Add support for tvos and watchos to ObjectFileMachO.
Add support for the new dyld shared cache format on ios etc devices. Small changes for classifying ObjC metadata symbols. llvm-svn: 252588
Diffstat (limited to 'lldb/source/Symbol/ObjectFile.cpp')
-rw-r--r--lldb/source/Symbol/ObjectFile.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/lldb/source/Symbol/ObjectFile.cpp b/lldb/source/Symbol/ObjectFile.cpp
index 6afaaac50f5..1b4363da801 100644
--- a/lldb/source/Symbol/ObjectFile.cpp
+++ b/lldb/source/Symbol/ObjectFile.cpp
@@ -626,3 +626,28 @@ ObjectFile::GetSectionList(bool update_module_section_list)
}
return m_sections_ap.get();
}
+
+lldb::SymbolType
+ObjectFile::GetSymbolTypeFromName (llvm::StringRef name,
+ lldb::SymbolType symbol_type_hint)
+{
+ if (!name.empty())
+ {
+ if (name.startswith("_OBJC_"))
+ {
+ // ObjC
+ if (name.startswith("_OBJC_CLASS_$_"))
+ return lldb::eSymbolTypeObjCClass;
+ if (name.startswith("_OBJC_METACLASS_$_"))
+ return lldb::eSymbolTypeObjCMetaClass;
+ if (name.startswith("_OBJC_IVAR_$_"))
+ return lldb::eSymbolTypeObjCIVar;
+ }
+ else if (name.startswith(".objc_class_name_"))
+ {
+ // ObjC v1
+ return lldb::eSymbolTypeObjCClass;
+ }
+ }
+ return symbol_type_hint;
+}
OpenPOWER on IntegriCloud