diff --git a/llvm/include/llvm/BinaryFormat/COFF.h b/llvm/include/llvm/BinaryFormat/COFF.h --- a/llvm/include/llvm/BinaryFormat/COFF.h +++ b/llvm/include/llvm/BinaryFormat/COFF.h @@ -440,7 +440,8 @@ 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 { 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 @@ -135,6 +135,9 @@ Thumb = 0xf0, ARMNT = 0xf4, ARM64 = 0xf6, + HybridX86ARM64 = 0xf7, + ARM64EC = 0xf8, + ARM64X = 0xf9, D3D11_Shader = 0x100, }; diff --git a/llvm/lib/DebugInfo/CodeView/EnumTables.cpp b/llvm/lib/DebugInfo/CodeView/EnumTables.cpp --- a/llvm/lib/DebugInfo/CodeView/EnumTables.cpp +++ b/llvm/lib/DebugInfo/CodeView/EnumTables.cpp @@ -201,6 +201,9 @@ 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), }; diff --git a/llvm/lib/ObjectYAML/COFFYAML.cpp b/llvm/lib/ObjectYAML/COFFYAML.cpp --- a/llvm/lib/ObjectYAML/COFFYAML.cpp +++ b/llvm/lib/ObjectYAML/COFFYAML.cpp @@ -49,6 +49,7 @@ 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::enumeration(