llvm-project/lldb/source/Symbol
Alvin Wong c8daf4a707 [lldb] Add gnu-debuglink support for Windows PE/COFF
The specification of gnu-debuglink can be found at:
https://sourceware.org/gdb/onlinedocs/gdb/Separate-Debug-Files.html

The file CRC or the CRC value from the .gnu_debuglink section is now
used to calculate the module UUID as a fallback, to allow verifying that
the debug object does match the executable. Note that if a CodeView
build id exists, it still takes precedence. This works even for MinGW
builds because LLD writes a synthetic CodeView build id which does not
get stripped from the debug object.

The `Minidump/Windows/find-module` test also needs a fix by adding a
CodeView record to the exe to match the one in the minidump, otherwise
it fails due to the new UUID calculated from the file CRC.

Fixes https://github.com/llvm/llvm-project/issues/54344

Reviewed By: DavidSpickett

Differential Revision: https://reviews.llvm.org/D126367
2022-06-09 14:39:33 +03:00
..
ArmUnwindInfo.cpp [lldb] Replace default bodies of special member functions with = default; 2021-07-02 11:31:16 -07:00
Block.cpp [lldb] Rename Logging.h to LLDBLog.h and clean up includes 2022-02-03 14:47:01 +01:00
CMakeLists.txt Introduce new symbol on-demand for debug info 2022-04-26 10:42:06 -07:00
CompactUnwindInfo.cpp [lldb] Rename Logging.h to LLDBLog.h and clean up includes 2022-02-03 14:47:01 +01:00
CompileUnit.cpp Introduce new symbol on-demand for debug info 2022-04-26 10:42:06 -07:00
CompilerDecl.cpp
CompilerDeclContext.cpp
CompilerType.cpp [lldb][NFC] Give CompilerType's IsArrayType/IsVectorType/IsBlockPointerType out-parameters default values 2021-02-23 11:15:31 +01:00
DWARFCallFrameInfo.cpp [LLDB] Remove cases of using namespace llvm:: from header file 2022-03-03 10:39:06 -08:00
DebugMacros.cpp
DeclVendor.cpp [lldb][NFC] Remove outdated FIXME 2021-09-20 11:44:20 -07:00
FuncUnwinders.cpp [lldb] Replace default bodies of special member functions with = default; 2021-07-02 11:31:16 -07:00
Function.cpp [lldb] Rename Logging.h to LLDBLog.h and clean up includes 2022-02-03 14:47:01 +01:00
LineEntry.cpp Change PathMappingList::FindFile to return an optional result (NFC) 2021-06-29 15:10:46 -07:00
LineTable.cpp [lldb] Replace default bodies of special member functions with = default; 2021-07-02 11:31:16 -07:00
LocateSymbolFile.cpp [lldb] Add gnu-debuglink support for Windows PE/COFF 2022-06-09 14:39:33 +03:00
LocateSymbolFileMacOSX.cpp [NFC] Don't bother with unstripped binary w/ dSYM, don't DebugSymbols twice 2022-05-16 15:30:39 -07:00
ObjectFile.cpp [lldb] Change CreateMemoryInstance to take a WritableDataBuffer 2022-04-05 13:46:41 -07:00
PostfixExpression.cpp [LLDB] Remove cases of using namespace llvm:: from header file 2022-03-03 10:39:06 -08:00
Symbol.cpp [LLDB] Applying clang-tidy modernize-use-default-member-init over LLDB 2022-03-14 13:32:03 -07:00
SymbolContext.cpp [lldb] Prevent crash when adding a stop hook with --shlib 2022-04-14 11:00:21 -07:00
SymbolFile.cpp Introduce new symbol on-demand for debug info 2022-04-26 10:42:06 -07:00
SymbolFileOnDemand.cpp Introduce new symbol on-demand for debug info 2022-04-26 10:42:06 -07:00
SymbolVendor.cpp [lldb] Return StringRef from PluginInterface::GetPluginName 2021-10-18 10:14:42 +02:00
Symtab.cpp Fix the encoding and decoding of UniqueCStringMap<T> objects when saved to cache files. 2022-04-29 11:31:47 -07:00
Type.cpp [LLDB] Applying clang-tidy modernize-use-default-member-init over LLDB 2022-03-14 13:32:03 -07:00
TypeList.cpp [lldb] Replace default bodies of special member functions with = default; 2021-07-02 11:31:16 -07:00
TypeMap.cpp [lldb] Replace default bodies of special member functions with = default; 2021-07-02 11:31:16 -07:00
TypeSystem.cpp Use true/false instead of 1/0 (NFC) 2022-01-09 12:21:06 -08:00
UnwindPlan.cpp Cleanup LLVMDWARFDebugInfo 2022-02-15 09:16:03 +01:00
UnwindTable.cpp [lldb] Replace default bodies of special member functions with = default; 2021-07-02 11:31:16 -07:00
Variable.cpp [LLDB][NativePDB] Add support for S_DEFRANGE_REGISTER and S_DEFRANGE_SUBFIELD_REGISTER 2022-03-10 12:40:31 -08:00
VariableList.cpp [lldb] Replace default bodies of special member functions with = default; 2021-07-02 11:31:16 -07:00