From 5e173dc5eadf1b20d4f786d21fb65ec3bc7125a5 Mon Sep 17 00:00:00 2001 From: Pavel Labath Date: Mon, 10 Jun 2019 16:21:26 +0000 Subject: [PATCH] Breakpad: Add support for the arm64e "architecture" llvm-svn: 362960 --- .../Modules/Breakpad/Inputs/identification-macosx-arm64e.syms | 3 +++ lldb/lit/Modules/Breakpad/breakpad-identification.test | 3 +++ lldb/source/Plugins/ObjectFile/Breakpad/BreakpadRecords.cpp | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 lldb/lit/Modules/Breakpad/Inputs/identification-macosx-arm64e.syms diff --git a/lldb/lit/Modules/Breakpad/Inputs/identification-macosx-arm64e.syms b/lldb/lit/Modules/Breakpad/Inputs/identification-macosx-arm64e.syms new file mode 100644 index 000000000000..18090d7a0d52 --- /dev/null +++ b/lldb/lit/Modules/Breakpad/Inputs/identification-macosx-arm64e.syms @@ -0,0 +1,3 @@ +MODULE mac arm64e 4E11896957B3334EB03456BFCEB573760 mac.out +PUBLIC 0 0 _mh_execute_header +PUBLIC f30 0 start diff --git a/lldb/lit/Modules/Breakpad/breakpad-identification.test b/lldb/lit/Modules/Breakpad/breakpad-identification.test index 3e70345bc7d8..312eb1480239 100644 --- a/lldb/lit/Modules/Breakpad/breakpad-identification.test +++ b/lldb/lit/Modules/Breakpad/breakpad-identification.test @@ -1,5 +1,6 @@ RUN: lldb-test object-file %p/Inputs/identification-linux.syms | FileCheck %s --check-prefix=LINUX RUN: lldb-test object-file %p/Inputs/identification-macosx.syms | FileCheck %s --check-prefix=MAC +RUN: lldb-test object-file %p/Inputs/identification-macosx-arm64e.syms | FileCheck %s --check-prefix=ARM64E RUN: lldb-test object-file %p/Inputs/identification-windows.syms | FileCheck %s --check-prefix=WINDOWS RUN: not lldb-test object-file %p/Inputs/bad-module-id-1.syms 2>&1 | FileCheck %s --check-prefix=ERROR RUN: not lldb-test object-file %p/Inputs/bad-module-id-2.syms 2>&1 | FileCheck %s --check-prefix=ERROR @@ -21,6 +22,8 @@ MAC: Stripped: false MAC: Type: debug info MAC: Strata: user +ARM64E: Architecture: aarch64--macosx + WINDOWS: Plugin name: breakpad WINDOWS: Architecture: i386--windows WINDOWS: UUID: A0C91657-80B5-4909-81A1-925EA62165C0-00000001 diff --git a/lldb/source/Plugins/ObjectFile/Breakpad/BreakpadRecords.cpp b/lldb/source/Plugins/ObjectFile/Breakpad/BreakpadRecords.cpp index 322be35a1a85..d489eaf11115 100644 --- a/lldb/source/Plugins/ObjectFile/Breakpad/BreakpadRecords.cpp +++ b/lldb/source/Plugins/ObjectFile/Breakpad/BreakpadRecords.cpp @@ -51,7 +51,7 @@ llvm::Triple::ArchType stringTo(llvm::StringRef Str) { using llvm::Triple; return llvm::StringSwitch(Str) .Case("arm", Triple::arm) - .Case("arm64", Triple::aarch64) + .Cases("arm64", "arm64e", Triple::aarch64) .Case("mips", Triple::mips) .Case("ppc", Triple::ppc) .Case("ppc64", Triple::ppc64)