From d20b013b490e0603ba21b5ccff966d7e11025775 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Wed, 7 Jul 2021 00:21:05 +0300 Subject: [PATCH] [COFF] [CodeView] Add a few new enum values 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 | 3 ++- llvm/include/llvm/DebugInfo/CodeView/CodeView.h | 3 +++ llvm/lib/DebugInfo/CodeView/EnumTables.cpp | 3 +++ llvm/lib/ObjectYAML/COFFYAML.cpp | 1 + 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/llvm/include/llvm/BinaryFormat/COFF.h b/llvm/include/llvm/BinaryFormat/COFF.h index d20c0cb62ecf..e7dde986784f 100644 --- a/llvm/include/llvm/BinaryFormat/COFF.h +++ b/llvm/include/llvm/BinaryFormat/COFF.h @@ -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 { diff --git a/llvm/include/llvm/DebugInfo/CodeView/CodeView.h b/llvm/include/llvm/DebugInfo/CodeView/CodeView.h index 5a5d37fc404e..9d41cb9fdd2b 100644 --- a/llvm/include/llvm/DebugInfo/CodeView/CodeView.h +++ b/llvm/include/llvm/DebugInfo/CodeView/CodeView.h @@ -135,6 +135,9 @@ enum class CPUType : uint16_t { 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 index 088ffb74bb5d..b4a2a0031b2d 100644 --- a/llvm/lib/DebugInfo/CodeView/EnumTables.cpp +++ b/llvm/lib/DebugInfo/CodeView/EnumTables.cpp @@ -201,6 +201,9 @@ static const EnumEntry 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), }; diff --git a/llvm/lib/ObjectYAML/COFFYAML.cpp b/llvm/lib/ObjectYAML/COFFYAML.cpp index b5154467f11a..96069c0c590f 100644 --- a/llvm/lib/ObjectYAML/COFFYAML.cpp +++ b/llvm/lib/ObjectYAML/COFFYAML.cpp @@ -49,6 +49,7 @@ ScalarEnumerationTraits::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::enumeration(