Object: Add some types to SymbolRef::Type.
authorMichael J. Spencer <bigcheesegs@gmail.com>
Mon, 17 Oct 2011 23:55:06 +0000 (23:55 +0000)
committerMichael J. Spencer <bigcheesegs@gmail.com>
Mon, 17 Oct 2011 23:55:06 +0000 (23:55 +0000)
Some of these can be true at the same time and there are a lot to add,
so this should be turned into a bitfield. Some of the other accessors
should probably be folded into this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142318 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Object/ObjectFile.h
lib/Object/ELFObjectFile.cpp

index 5581225b53da5021790e1bc0ed31b2f290a48786..331ed7caa063596d4ce1babdf7c18e76affff99b 100644 (file)
@@ -166,9 +166,11 @@ public:
   }
 
   enum Type {
-    ST_Function,
     ST_Data,
+    ST_Debug,
     ST_External,    // Defined in another object file
+    ST_File,
+    ST_Function,
     ST_Other
   };
 
index a5e3910d16c80da78117132963b4c4cbd972bb8b..97ba9167a533c536ea22f893179125cffeed6ce9 100644 (file)
@@ -621,6 +621,12 @@ error_code ELFObjectFile<target_endianness, is64Bits>
   }
 
   switch (symb->getType()) {
+  case ELF::STT_SECTION:
+    Result = SymbolRef::ST_Debug;
+    break;
+  case ELF::STT_FILE:
+    Result = SymbolRef::ST_File;
+    break;
   case ELF::STT_FUNC:
     Result = SymbolRef::ST_Function;
     break;