[llvm] d20b013 - [COFF] [CodeView] Add a few new enum values

Martin Storsjö via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 7 12:00:56 PDT 2021


Author: Martin Storsjö
Date: 2021-07-07T22:00:18+03:00
New Revision: d20b013b490e0603ba21b5ccff966d7e11025775

URL: https://github.com/llvm/llvm-project/commit/d20b013b490e0603ba21b5ccff966d7e11025775
DIFF: https://github.com/llvm/llvm-project/commit/d20b013b490e0603ba21b5ccff966d7e11025775.diff

LOG: [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

Added: 
    

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

Removed: 
    


################################################################################
diff  --git a/llvm/include/llvm/BinaryFormat/COFF.h b/llvm/include/llvm/BinaryFormat/COFF.h
index d20c0cb62ecfb..e7dde986784f7 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 5a5d37fc404ea..9d41cb9fdd2b4 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 088ffb74bb5d8..b4a2a0031b2d4 100644
--- a/llvm/lib/DebugInfo/CodeView/EnumTables.cpp
+++ b/llvm/lib/DebugInfo/CodeView/EnumTables.cpp
@@ -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),
 };
 

diff  --git a/llvm/lib/ObjectYAML/COFFYAML.cpp b/llvm/lib/ObjectYAML/COFFYAML.cpp
index b5154467f11ac..96069c0c590f0 100644
--- a/llvm/lib/ObjectYAML/COFFYAML.cpp
+++ b/llvm/lib/ObjectYAML/COFFYAML.cpp
@@ -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(


        


More information about the llvm-commits mailing list