diff --git a/lld/COFF/PDB.cpp b/lld/COFF/PDB.cpp --- a/lld/COFF/PDB.cpp +++ b/lld/COFF/PDB.cpp @@ -811,6 +811,10 @@ // Unclear what this is for. break; + case DebugSubsectionKind::XfgHashType: + case DebugSubsectionKind::XfgHashVirtual: + break; + default: warn("ignoring unknown debug$S subsection kind 0x" + utohexstr(uint32_t(ss.kind())) + " in file " + toString(&file)); diff --git a/llvm/include/llvm/DebugInfo/CodeView/CodeView.h b/llvm/include/llvm/DebugInfo/CodeView/CodeView.h --- a/llvm/include/llvm/DebugInfo/CodeView/CodeView.h +++ b/llvm/include/llvm/DebugInfo/CodeView/CodeView.h @@ -330,6 +330,9 @@ MergedAssemblyInput = 0xfc, CoffSymbolRVA = 0xfd, + + XfgHashType = 0xff, + XfgHashVirtual = 0x100, }; /// Equivalent to CV_ptrtype_e. diff --git a/llvm/lib/DebugInfo/PDB/Native/FormatUtil.cpp b/llvm/lib/DebugInfo/PDB/Native/FormatUtil.cpp --- a/llvm/lib/DebugInfo/PDB/Native/FormatUtil.cpp +++ b/llvm/lib/DebugInfo/PDB/Native/FormatUtil.cpp @@ -66,6 +66,8 @@ RETURN_CASE(DebugSubsectionKind, MergedAssemblyInput, "merged assembly input"); RETURN_CASE(DebugSubsectionKind, CoffSymbolRVA, "coff symbol rva"); + RETURN_CASE(DebugSubsectionKind, XfgHashType, "xfg hash type"); + RETURN_CASE(DebugSubsectionKind, XfgHashVirtual, "xfg hash virtual"); } } else { switch (Kind) { @@ -89,6 +91,11 @@ "DEBUG_S_MERGED_ASSEMBLYINPUT"); RETURN_CASE(DebugSubsectionKind, CoffSymbolRVA, "DEBUG_S_COFF_SYMBOL_RVA"); + RETURN_CASE(DebugSubsectionKind, XfgHashType, + "DEBUG_S_XFGHASH_TYPE"); + RETURN_CASE(DebugSubsectionKind, XfgHashVirtual, + "DEBUG_S_XFGHASH_VIRTUAL"); + } } return formatUnknownEnum(Kind);