From e3b557809604d036af6e00c60f012c2025b59a5e Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Sat, 11 Feb 2023 13:38:04 +0100 Subject: Vendor import of llvm-project main llvmorg-16-init-18548-gb0daacf58f41, the last commit before the upstream release/17.x branch was created. --- llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp') diff --git a/llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp b/llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp index d8ee9264b64f..5c65742a39f5 100644 --- a/llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp +++ b/llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp @@ -168,6 +168,11 @@ Error SymbolizableObjectFile::addSymbol(const SymbolRef &Symbol, return SymbolTypeOrErr.takeError(); SymbolRef::Type SymbolType = *SymbolTypeOrErr; if (Obj.isELF()) { + // Ignore any symbols coming from sections that don't have runtime + // allocated memory. + if ((elf_section_iterator(*Sec)->getFlags() & ELF::SHF_ALLOC) == 0) + return Error::success(); + // Allow function and data symbols. Additionally allow STT_NONE, which are // common for functions defined in assembly. uint8_t Type = ELFSymbolRef(Symbol).getELFType(); -- cgit v1.2.3