From 7323383bd725396571c47650ecd4de2708b11b17 Mon Sep 17 00:00:00 2001 From: Alexey Samsonov Date: Fri, 28 Jun 2013 14:25:52 +0000 Subject: llvm-symbolizer: skip leading underscore in Mach-O symbol table entries llvm-svn: 185151 --- llvm/tools/llvm-symbolizer/LLVMSymbolize.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'llvm/tools/llvm-symbolizer') diff --git a/llvm/tools/llvm-symbolizer/LLVMSymbolize.cpp b/llvm/tools/llvm-symbolizer/LLVMSymbolize.cpp index dfcbacfbe63..59564161b4e 100644 --- a/llvm/tools/llvm-symbolizer/LLVMSymbolize.cpp +++ b/llvm/tools/llvm-symbolizer/LLVMSymbolize.cpp @@ -74,6 +74,9 @@ ModuleInfo::ModuleInfo(ObjectFile *Obj, DIContext *DICtx) StringRef SymbolName; if (error(si->getName(SymbolName))) continue; + // Mach-O symbol table names have leading underscore, skip it. + if (Module->isMachO() && SymbolName.size() > 0 && SymbolName[0] == '_') + SymbolName = SymbolName.drop_front(); // FIXME: If a function has alias, there are two entries in symbol table // with same address size. Make sure we choose the correct one. SymbolMapTy &M = SymbolType == SymbolRef::ST_Function ? Functions : Objects; -- cgit v1.2.3