summaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/ObjectFile/COFF/ObjectFileCOFF.cpp
AgeCommit message (Collapse)Author
2025-06-09[LLDB] Unify DWARF section name matching (#141344)nerix
Different object file formats support DWARF sections (COFF, ELF, MachO, PE/COFF, WASM). COFF and PE/COFF only matched a subset. This caused some GCC executables produced on MinGW to have issue later on when debugging. One example is that `.debug_rnglists` was not matched, which caused range-extraction to fail when printing a backtrace. This unifies the parsing of section names in `ObjectFile::GetDWARFSectionTypeFromName`, so all file formats can use the same naming convention. Since the prefixes are different, `GetDWARFSectionTypeFromName` only matches the suffixes (i.e. `.debug_` needs to be stripped before). I added two tests to ensure the sections are correctly identified on Windows executables.
2023-11-01[lldb] Fix missing comsumeError() with LLDB_LOG in ObjectFileCOFF/PECOFF ↵Stefan Gränitz
(#70793) All `llvm::Error`s must be checked/consumed before destruction. Previously, the errors in this patch were only consumed when logging was enabled. Using `LLDB_LOG_ERROR` instead of `LLDB_LOG` fixes that, because it calls `llvm::consumeError()` explicitly when logging is disabled.
2023-05-07ObjectFile: introduce a COFF object file pluginSaleem Abdulrasool
Windows uses COFF as an object file format and PE/COFF as an executable file format. They are subtly different and certain elements of a COFF file may not be present in an executable. Introduce a new plugin to add support for the COFF object file format which is required to support loading of modules built with -gmodules. This is motivated by Swift which serialises debugging information into a PCM which is a COFF object file. Differential Revision: https://reviews.llvm.org/D149987 Reviewed By: bulbazord