[lldb] [llvm] [LLDB] Warn about truncated DWARF section names on Windows (PR #145175)
Michael Buch via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 23 09:42:47 PDT 2025
================
@@ -1036,12 +1036,18 @@ void ObjectFilePECOFF::CreateSections(SectionList &unified_section_list) {
m_sections_up->AddSection(header_sp);
unified_section_list.AddSection(header_sp);
+ std::vector<llvm::StringRef> truncated_dwarf_sections;
const uint32_t nsects = m_sect_headers.size();
for (uint32_t idx = 0; idx < nsects; ++idx) {
llvm::StringRef sect_name = GetSectionName(m_sect_headers[idx]);
ConstString const_sect_name(sect_name);
SectionType section_type = GetSectionType(sect_name, m_sect_headers[idx]);
+ // Detect unknown sections matching ^\.debug_[a-z]$
+ if (section_type == eSectionTypeOther && sect_name.size() == 8 &&
----------------
Michael137 wrote:
> The truncation will always be 8 bytes, because that's how much space the section name has in the PE/COFF section header - it's basically a char name[8] field. For longer names, the linker has to write the section name into the string table and set the name in the section header to /n where n is the offset in the string table.
If that's guaranteed by the file format and won't ever change, fair enough. Lets at least keep a comment about this here
https://github.com/llvm/llvm-project/pull/145175
More information about the llvm-commits
mailing list