llvm.org GIT mirror llvm / ddf63a4
[PDB] Ignore .debug$S subsections with high bit set Some versions of the Visual C++ 2015 runtime have line tables with the subsection kind of 0x800000F2. In cvinfo.h, 0x80000000 is documented to be DEBUG_S_IGNORE. This appears to implement the intended behavior. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@363724 91177308-0d34-0410-b5e6-96231b3b80d8 Reid Kleckner 30 days ago
2 changed file(s) with 8 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
303303 };
304304 CV_DEFINE_ENUM_CLASS_FLAGS_OPERATORS(ModifierOptions)
305305
306 // If the subsection kind has this bit set, then the linker should ignore it.
307 enum : uint32_t { SubsectionIgnoreFlag = 0x80000000 };
308
306309 enum class DebugSubsectionKind : uint32_t {
307310 None = 0,
308311 Symbols = 0xf1,
960960 error(consume(Data, SubSectionSize));
961961
962962 ListScope S(W, "Subsection");
963 // Dump the subsection as normal even if the ignore bit is set.
964 if (SubType & SubsectionIgnoreFlag) {
965 W.printHex("IgnoredSubsectionKind", SubType);
966 SubType &= ~SubsectionIgnoreFlag;
967 }
963968 W.printEnum("SubSectionType", SubType, makeArrayRef(SubSectionTypes));
964969 W.printHex("SubSectionSize", SubSectionSize);
965970