labath created this revision. labath added reviewers: amccarth, clayborg. Herald added subscribers: fedor.sergeev, hiraditya, kristof.beyls. Herald added projects: LLDB, LLVM.
The architecture enum contains two kinds of contstants: the "official" ones defined by Microsoft, and unofficial constants added by breakpad to cover the architectures not described by the first ones. Up until now, there was no big need to differentiate between the two. However, now that Microsoft has defined https://docs.microsoft.com/en-us/windows/win32/api/sysinfoapi/ns-sysinfoapi-system_info a constant for ARM64, we have a name clash. This patch renames all breakpad-defined constants with to include the prefix "BP_". This frees up the name "ARM64", which I'll re-introduce with the new "official" value in a follow-up patch. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D69285 Files: lldb/source/Plugins/Process/minidump/MinidumpParser.cpp llvm/include/llvm/BinaryFormat/MinidumpConstants.def llvm/lib/ObjectYAML/MinidumpYAML.cpp llvm/test/tools/obj2yaml/basic-minidump.yaml llvm/unittests/ObjectYAML/MinidumpYAMLTest.cpp
Index: llvm/unittests/ObjectYAML/MinidumpYAMLTest.cpp =================================================================== --- llvm/unittests/ObjectYAML/MinidumpYAMLTest.cpp +++ llvm/unittests/ObjectYAML/MinidumpYAMLTest.cpp @@ -33,7 +33,7 @@ --- !minidump Streams: - Type: SystemInfo - Processor Arch: ARM64 + Processor Arch: BP_ARM64 Platform ID: Linux CPU: CPUID: 0x05060708 @@ -53,7 +53,7 @@ auto ExpectedSysInfo = File.getSystemInfo(); ASSERT_THAT_EXPECTED(ExpectedSysInfo, Succeeded()); const SystemInfo &SysInfo = *ExpectedSysInfo; - EXPECT_EQ(ProcessorArchitecture::ARM64, SysInfo.ProcessorArch); + EXPECT_EQ(ProcessorArchitecture::BP_ARM64, SysInfo.ProcessorArch); EXPECT_EQ(OSPlatform::Linux, SysInfo.PlatformId); EXPECT_EQ(0x05060708u, SysInfo.CPU.Arm.CPUID); Index: llvm/test/tools/obj2yaml/basic-minidump.yaml =================================================================== --- llvm/test/tools/obj2yaml/basic-minidump.yaml +++ llvm/test/tools/obj2yaml/basic-minidump.yaml @@ -3,7 +3,7 @@ --- !minidump Streams: - Type: SystemInfo - Processor Arch: ARM64 + Processor Arch: BP_ARM64 Platform ID: Linux CSD Version: Linux 3.13.0-91-generic CPU: @@ -92,7 +92,7 @@ # CHECK: --- !minidump # CHECK-NEXT: Streams: # CHECK-NEXT: - Type: SystemInfo -# CHECK-NEXT: Processor Arch: ARM64 +# CHECK-NEXT: Processor Arch: BP_ARM64 # CHECK-NEXT: Platform ID: Linux # CHECK-NEXT: CSD Version: Linux 3.13.0-91-generic # CHECK-NEXT: CPU: Index: llvm/lib/ObjectYAML/MinidumpYAML.cpp =================================================================== --- llvm/lib/ObjectYAML/MinidumpYAML.cpp +++ llvm/lib/ObjectYAML/MinidumpYAML.cpp @@ -336,7 +336,7 @@ IO.mapOptional("CPU", Info.CPU.X86); break; case ProcessorArchitecture::ARM: - case ProcessorArchitecture::ARM64: + case ProcessorArchitecture::BP_ARM64: IO.mapOptional("CPU", Info.CPU.Arm); break; default: Index: llvm/include/llvm/BinaryFormat/MinidumpConstants.def =================================================================== --- llvm/include/llvm/BinaryFormat/MinidumpConstants.def +++ llvm/include/llvm/BinaryFormat/MinidumpConstants.def @@ -85,21 +85,21 @@ HANDLE_MDMP_STREAM_TYPE(0xFACEDEAD, FacebookAbortReason) HANDLE_MDMP_STREAM_TYPE(0xFACEE000, FacebookThreadName) -HANDLE_MDMP_ARCH(0x0000, X86) // PROCESSOR_ARCHITECTURE_INTEL -HANDLE_MDMP_ARCH(0x0001, MIPS) // PROCESSOR_ARCHITECTURE_MIPS -HANDLE_MDMP_ARCH(0x0002, Alpha) // PROCESSOR_ARCHITECTURE_ALPHA -HANDLE_MDMP_ARCH(0x0003, PPC) // PROCESSOR_ARCHITECTURE_PPC -HANDLE_MDMP_ARCH(0x0004, SHX) // PROCESSOR_ARCHITECTURE_SHX (Super-H) -HANDLE_MDMP_ARCH(0x0005, ARM) // PROCESSOR_ARCHITECTURE_ARM -HANDLE_MDMP_ARCH(0x0006, IA64) // PROCESSOR_ARCHITECTURE_IA64 -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(0x8001, SPARC) // Breakpad-defined value for SPARC -HANDLE_MDMP_ARCH(0x8002, PPC64) // Breakpad-defined value for PPC64 -HANDLE_MDMP_ARCH(0x8003, ARM64) // Breakpad-defined value for ARM64 -HANDLE_MDMP_ARCH(0x8004, MIPS64) // Breakpad-defined value for MIPS64 +HANDLE_MDMP_ARCH(0x0000, X86) // PROCESSOR_ARCHITECTURE_INTEL +HANDLE_MDMP_ARCH(0x0001, MIPS) // PROCESSOR_ARCHITECTURE_MIPS +HANDLE_MDMP_ARCH(0x0002, Alpha) // PROCESSOR_ARCHITECTURE_ALPHA +HANDLE_MDMP_ARCH(0x0003, PPC) // PROCESSOR_ARCHITECTURE_PPC +HANDLE_MDMP_ARCH(0x0004, SHX) // PROCESSOR_ARCHITECTURE_SHX (Super-H) +HANDLE_MDMP_ARCH(0x0005, ARM) // PROCESSOR_ARCHITECTURE_ARM +HANDLE_MDMP_ARCH(0x0006, IA64) // PROCESSOR_ARCHITECTURE_IA64 +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(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 +HANDLE_MDMP_ARCH(0x8004, BP_MIPS64) // Breakpad-defined value for MIPS64 HANDLE_MDMP_PLATFORM(0x0000, Win32S) // Win32 on Windows 3.1 HANDLE_MDMP_PLATFORM(0x0001, Win32Windows) // Windows 95-98-Me Index: lldb/source/Plugins/Process/minidump/MinidumpParser.cpp =================================================================== --- lldb/source/Plugins/Process/minidump/MinidumpParser.cpp +++ lldb/source/Plugins/Process/minidump/MinidumpParser.cpp @@ -173,7 +173,7 @@ case ProcessorArchitecture::ARM: triple.setArch(llvm::Triple::ArchType::arm); break; - case ProcessorArchitecture::ARM64: + case ProcessorArchitecture::BP_ARM64: triple.setArch(llvm::Triple::ArchType::aarch64); break; default:
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits