diff options
author | Fangrui Song <i@maskray.me> | 2021-02-12 11:04:20 -0800 |
---|---|---|
committer | Fangrui Song <i@maskray.me> | 2021-02-12 11:04:20 -0800 |
commit | a7ceef9254ad1ec112906f53ac9cae2f0a37e4bb (patch) | |
tree | 38a6d8c333b09f37edda8effb0801ffb3e464128 /llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp | |
parent | 656674a7c43305dbf0b4234f1086cc88f7f4e4fb (diff) | |
download | llvm-a7ceef9254ad1ec112906f53ac9cae2f0a37e4bb.zip llvm-a7ceef9254ad1ec112906f53ac9cae2f0a37e4bb.tar.gz llvm-a7ceef9254ad1ec112906f53ac9cae2f0a37e4bb.tar.bz2 |
DebugInfo/Symbolize: Exclude ARM mapping symbols for .symtab symbolization after D95916
Their names don't convey much information, so they should be excluded.
The behavior matches addr2line.
Differential Revision: https://reviews.llvm.org/D96617
Diffstat (limited to 'llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp')
-rw-r--r-- | llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp b/llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp index 4a9b119e..d751999 100644 --- a/llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp +++ b/llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp @@ -174,6 +174,11 @@ Error SymbolizableObjectFile::addSymbol(const SymbolRef &Symbol, if (Type != ELF::STT_NOTYPE && Type != ELF::STT_FUNC && Type != ELF::STT_OBJECT && Type != ELF::STT_GNU_IFUNC) return Error::success(); + // Some STT_NOTYPE symbols are not desired. This excludes STT_SECTION and + // ARM mapping symbols. + uint32_t Flags = cantFail(Symbol.getFlags()); + if (Flags & SymbolRef::SF_FormatSpecific) + return Error::success(); } else if (SymbolType != SymbolRef::ST_Function && SymbolType != SymbolRef::ST_Data) { return Error::success(); |