minidump: Add an "arm64" constant
authorPavel Labath <pavel@labath.sk>
Thu, 31 Oct 2019 10:05:47 +0000 (11:05 +0100)
committerPavel Labath <pavel@labath.sk>
Thu, 31 Oct 2019 10:20:46 +0000 (11:20 +0100)
This is the "official" constant for arm64. We also have another constant
for arm64 (called BP_ARM64), which was used by breakpad while there was
no official constant for arm64 available.

llvm/include/llvm/BinaryFormat/MinidumpConstants.def
llvm/lib/ObjectYAML/MinidumpYAML.cpp
llvm/unittests/ObjectYAML/MinidumpYAMLTest.cpp

index c04a10d..543305f 100644 (file)
@@ -96,6 +96,7 @@ HANDLE_MDMP_ARCH(0x0007, Alpha64)   // PROCESSOR_ARCHITECTURE_ALPHA64
 HANDLE_MDMP_ARCH(0x0008, MSIL)      // PROCESSOR_ARCHITECTURE_MSIL
 HANDLE_MDMP_ARCH(0x0009, AMD64)     // PROCESSOR_ARCHITECTURE_AMD64
 HANDLE_MDMP_ARCH(0x000a, X86Win64)  // PROCESSOR_ARCHITECTURE_IA32_ON_WIN64
+HANDLE_MDMP_ARCH(0x000c, ARM64)     // PROCESSOR_ARCHITECTURE_ARM64
 HANDLE_MDMP_ARCH(0x8001, BP_SPARC)  // Breakpad-defined value for SPARC
 HANDLE_MDMP_ARCH(0x8002, BP_PPC64)  // Breakpad-defined value for PPC64
 HANDLE_MDMP_ARCH(0x8003, BP_ARM64)  // Breakpad-defined value for ARM64
index aa73822..77ea42c 100644 (file)
@@ -336,6 +336,7 @@ static void streamMapping(yaml::IO &IO, SystemInfoStream &Stream) {
     IO.mapOptional("CPU", Info.CPU.X86);
     break;
   case ProcessorArchitecture::ARM:
+  case ProcessorArchitecture::ARM64:
   case ProcessorArchitecture::BP_ARM64:
     IO.mapOptional("CPU", Info.CPU.Arm);
     break;
index ca7fff1..a3c9e7e 100644 (file)
@@ -33,7 +33,7 @@ TEST(MinidumpYAML, Basic) {
 --- !minidump
 Streams:
   - Type:            SystemInfo
-    Processor Arch:  BP_ARM64
+    Processor Arch:  ARM64
     Platform ID:     Linux
     CPU:
       CPUID:           0x05060708
@@ -53,7 +53,7 @@ Streams:
   auto ExpectedSysInfo = File.getSystemInfo();
   ASSERT_THAT_EXPECTED(ExpectedSysInfo, Succeeded());
   const SystemInfo &SysInfo = *ExpectedSysInfo;
-  EXPECT_EQ(ProcessorArchitecture::BP_ARM64, SysInfo.ProcessorArch);
+  EXPECT_EQ(ProcessorArchitecture::ARM64, SysInfo.ProcessorArch);
   EXPECT_EQ(OSPlatform::Linux, SysInfo.PlatformId);
   EXPECT_EQ(0x05060708u, SysInfo.CPU.Arm.CPUID);