[COFF] [CodeView] Add a few new enum values
authorMartin Storsjö <martin@martin.st>
Tue, 6 Jul 2021 21:21:05 +0000 (00:21 +0300)
committerMartin Storsjö <martin@martin.st>
Wed, 7 Jul 2021 19:00:18 +0000 (22:00 +0300)
These are undocumented, but are visible in the SDK headers since some
versions ago.

Differential Revision: https://reviews.llvm.org/D105513

llvm/include/llvm/BinaryFormat/COFF.h
llvm/include/llvm/DebugInfo/CodeView/CodeView.h
llvm/lib/DebugInfo/CodeView/EnumTables.cpp
llvm/lib/ObjectYAML/COFFYAML.cpp

index d20c0cb..e7dde98 100644 (file)
@@ -439,7 +439,8 @@ struct AuxiliaryWeakExternal {
 enum WeakExternalCharacteristics : unsigned {
   IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY = 1,
   IMAGE_WEAK_EXTERN_SEARCH_LIBRARY = 2,
-  IMAGE_WEAK_EXTERN_SEARCH_ALIAS = 3
+  IMAGE_WEAK_EXTERN_SEARCH_ALIAS = 3,
+  IMAGE_WEAK_EXTERN_ANTI_DEPENDENCY = 4
 };
 
 struct AuxiliarySectionDefinition {
index 5a5d37f..9d41cb9 100644 (file)
@@ -135,6 +135,9 @@ enum class CPUType : uint16_t {
   Thumb = 0xf0,
   ARMNT = 0xf4,
   ARM64 = 0xf6,
+  HybridX86ARM64 = 0xf7,
+  ARM64EC = 0xf8,
+  ARM64X = 0xf9,
   D3D11_Shader = 0x100,
 };
 
index 088ffb7..b4a2a00 100644 (file)
@@ -201,6 +201,9 @@ static const EnumEntry<unsigned> CPUTypeNames[] = {
     CV_ENUM_CLASS_ENT(CPUType, Thumb),
     CV_ENUM_CLASS_ENT(CPUType, ARMNT),
     CV_ENUM_CLASS_ENT(CPUType, ARM64),
+    CV_ENUM_CLASS_ENT(CPUType, HybridX86ARM64),
+    CV_ENUM_CLASS_ENT(CPUType, ARM64EC),
+    CV_ENUM_CLASS_ENT(CPUType, ARM64X),
     CV_ENUM_CLASS_ENT(CPUType, D3D11_Shader),
 };
 
index b515446..96069c0 100644 (file)
@@ -49,6 +49,7 @@ ScalarEnumerationTraits<COFFYAML::WeakExternalCharacteristics>::enumeration(
   ECase(IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY);
   ECase(IMAGE_WEAK_EXTERN_SEARCH_LIBRARY);
   ECase(IMAGE_WEAK_EXTERN_SEARCH_ALIAS);
+  ECase(IMAGE_WEAK_EXTERN_ANTI_DEPENDENCY);
 }
 
 void ScalarEnumerationTraits<COFFYAML::AuxSymbolType>::enumeration(