diff options
author | Michael J. Spencer <bigcheesegs@gmail.com> | 2011-10-17 23:55:06 +0000 |
---|---|---|
committer | Michael J. Spencer <bigcheesegs@gmail.com> | 2011-10-17 23:55:06 +0000 |
commit | 206d17cf605293f1c12d8bfa8cf72826a29b253f (patch) | |
tree | 26c4f23c70160db482d564b5043fe1b9124fa3b6 | |
parent | 9b2b812fea4df160437e7b7d56e38f6335189ad0 (diff) | |
download | llvm-206d17cf605293f1c12d8bfa8cf72826a29b253f.tar.gz llvm-206d17cf605293f1c12d8bfa8cf72826a29b253f.tar.bz2 llvm-206d17cf605293f1c12d8bfa8cf72826a29b253f.tar.xz |
Object: Add some types to SymbolRef::Type.
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
-rw-r--r-- | include/llvm/Object/ObjectFile.h | 4 | ||||
-rw-r--r-- | lib/Object/ELFObjectFile.cpp | 6 |
2 files changed, 9 insertions, 1 deletions
diff --git a/include/llvm/Object/ObjectFile.h b/include/llvm/Object/ObjectFile.h index 5581225b53..331ed7caa0 100644 --- a/include/llvm/Object/ObjectFile.h +++ b/include/llvm/Object/ObjectFile.h @@ -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 }; diff --git a/lib/Object/ELFObjectFile.cpp b/lib/Object/ELFObjectFile.cpp index a5e3910d16..97ba9167a5 100644 --- a/lib/Object/ELFObjectFile.cpp +++ b/lib/Object/ELFObjectFile.cpp @@ -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; |