llvm-project/llvm/lib/DebugInfo
Reid Kleckner 0336cc05e7 [PDB] Fix function names for private symbols in PDBs
Summary:
llvm-symbolizer wants to get linkage names of functions for historical
reasons. Linkage names are only recorded in the PDB for public symbols,
and the linkage name is apparently stored separately in some "public
symbol" record. We had a workaround in PDBContext which would look for
such symbols when the user requested linkage names.

However, when given an address that was truly in a private function and
public funciton, we would accidentally find nearby public symbols and
return those function names. The fix is to look for both function
symbols and public symbols and only prefer the public symbol name if the
addresses of the symbols agree.

Fixes PR27492

Reviewers: zturner

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D19571

llvm-svn: 267732
2016-04-27 16:10:29 +00:00
..
CodeView [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
DWARF llvm-symbolizer: Avoid infinite recursion walking dwos where the dwo contains a dwo_name attribute 2016-04-22 22:50:56 +00:00
PDB [PDB] Fix function names for private symbols in PDBs 2016-04-27 16:10:29 +00:00
Symbolize Thread Expected<...> up from libObject’s getName() for symbols to allow llvm-objdump to produce a good error message. 2016-04-20 21:24:34 +00:00
CMakeLists.txt LLVM CodeView library 2015-12-24 18:12:38 +00:00
LLVMBuild.txt LLVM CodeView library 2015-12-24 18:12:38 +00:00