llvm-project/llvm/tools/llvm-pdbutil
Zachary Turner a1f85f8bdd [PDB] Emit old fpo data to the PDB file.
r342003 added support for emitting FPO data from the
DEBUG_S_FRAMEDATA subsection of the .debug$S section to the PDB
file.  However, that is not the end of the story.  FPO can end
up in two different destinations in a PDB, each corresponding to
a different FPO data source.

The case handled by r342003 involves copying data from the
DEBUG_S_FRAMEDATA subsection of the .debug$S section to the
"New FPO" stream in the PDB, which is then referred to by the
DBI stream.  The case handled by this patch involves copying
records from the .debug$F section of an object file to the "FPO"
stream (or perhaps more aptly, the "Old FPO" stream) in the PDB
file, which is also referred to by the DBI stream.

The formats are largely similar, and the difference is mostly
only visible in masm generated object files, such as some of the
low-level CRT object files like memcpy.  MASM doesn't appear to
support writing the DEBUG_S_FRAMEDATA subsection, and instead
just writes these records to the .debug$F section.

Although clang-cl does not emit a .debug$F section ever, lld still
needs to support it so we have good debugging for CRT functions.

Differential Revision: https://reviews.llvm.org/D51958

llvm-svn: 342080
2018-09-12 21:02:01 +00:00
..
Analyze.cpp Refactor the PDB HashTable class. 2018-03-15 17:38:26 +00:00
Analyze.h
BytesOutputStyle.cpp [llvm-pdbutil] Add support for dumping detailed module stats. 2017-08-21 14:53:25 +00:00
BytesOutputStyle.h [llvm-pdbutil] Add support for dumping detailed module stats. 2017-08-21 14:53:25 +00:00
CMakeLists.txt [PDB] Add an explain subcommand. 2018-03-29 16:28:20 +00:00
DumpOutputStyle.cpp [PDB] Emit old fpo data to the PDB file. 2018-09-12 21:02:01 +00:00
DumpOutputStyle.h [PDB] Emit old fpo data to the PDB file. 2018-09-12 21:02:01 +00:00
ExplainOutputStyle.cpp [llvm-pdbutil] Add the ability to explain binary files. 2018-04-04 17:29:09 +00:00
ExplainOutputStyle.h [llvm-pdbutil] Add the ability to explain binary files. 2018-04-04 17:29:09 +00:00
FormatUtil.cpp [llvm-pdbutil] Print detailed S_UDT stats. 2017-08-31 20:43:22 +00:00
FormatUtil.h [llvm-pdbutil] Print detailed S_UDT stats. 2017-08-31 20:43:22 +00:00
InputFile.cpp [llvm-pdbutil] Support PDBs without a DBI stream 2018-08-06 19:35:00 +00:00
InputFile.h [llvm-pdbutil] Add the ability to explain binary files. 2018-04-04 17:29:09 +00:00
LLVMBuild.txt
LinePrinter.cpp [pdbutil] Add a command to dump the FPM. 2017-08-02 22:25:52 +00:00
LinePrinter.h [llvm-pdbutil] Support dumping CodeView from object files. 2017-09-01 20:06:56 +00:00
MinimalSymbolDumper.cpp Apply local fixes intended to be part of r341999.' 2018-09-11 22:02:31 +00:00
MinimalSymbolDumper.h [codeview] Decode and dump FP regs from S_FRAMEPROC records 2018-09-11 22:00:50 +00:00
MinimalTypeDumper.cpp [llvm-pdbutil] Dump struct/class/union sizes in the minimal dump format 2018-05-17 18:33:42 +00:00
MinimalTypeDumper.h [PDB] Finish and simplify TPI hashing 2017-07-18 00:33:45 +00:00
OutputStyle.h
PdbYaml.cpp Remove redundant includes from tools. 2017-12-13 21:31:10 +00:00
PdbYaml.h [codeview] Fix YAML for LF_TYPESERVER2 by hoisting PDB_UniqueId 2017-07-17 23:59:44 +00:00
PrettyBuiltinDumper.cpp Fix llvm-pdbutil to handle new built-in types 2018-02-22 23:16:56 +00:00
PrettyBuiltinDumper.h
PrettyClassDefinitionDumper.cpp
PrettyClassDefinitionDumper.h
PrettyClassLayoutGraphicalDumper.cpp Remove faulty assertion in llvm-pdbutil 2018-04-16 17:01:18 +00:00
PrettyClassLayoutGraphicalDumper.h
PrettyCompilandDumper.cpp [pdbutil] Print the checksum hex string when using the '-lines' option 2018-04-10 14:47:12 +00:00
PrettyCompilandDumper.h
PrettyEnumDumper.cpp Enable llvm-pdbutil to list enumerations using native PDB reader 2017-08-04 22:37:58 +00:00
PrettyEnumDumper.h
PrettyExternalSymbolDumper.cpp [PDB] One more fix for hasing GSI records. 2018-07-06 21:01:42 +00:00
PrettyExternalSymbolDumper.h
PrettyFunctionDumper.cpp [llvm-pdbdump] Dump restrict type qualifier 2018-03-05 18:29:43 +00:00
PrettyFunctionDumper.h
PrettyTypeDumper.cpp [tools] Change std::sort to llvm::sort in response to r327219 2018-04-01 21:24:53 +00:00
PrettyTypeDumper.h
PrettyTypedefDumper.cpp [llvm-pdbdump] Dump restrict type qualifier 2018-03-05 18:29:43 +00:00
PrettyTypedefDumper.h
PrettyVariableDumper.cpp [llvm-pdbdump] Dump restrict type qualifier 2018-03-05 18:29:43 +00:00
PrettyVariableDumper.h
StreamUtil.cpp [llvm-pdbutil] Dig deeper into the PDB and DBI streams when explaining. 2018-03-30 17:16:50 +00:00
StreamUtil.h [llvm-pdbutil] Dig deeper into the PDB and DBI streams when explaining. 2018-03-30 17:16:50 +00:00
YAMLOutputStyle.cpp [llvm-pdbutil] Support PDBs without a DBI stream 2018-08-06 19:35:00 +00:00
YAMLOutputStyle.h
llvm-pdbutil.cpp [PDB] Write FPO Data to the PDB. 2018-09-11 22:35:01 +00:00
llvm-pdbutil.h [PDB] Write FPO Data to the PDB. 2018-09-11 22:35:01 +00:00