aboutsummaryrefslogtreecommitdiff
path: root/src/common/dwarf_cfi_to_module.cc
diff options
context:
space:
mode:
authorrmcilroy@chromium.org <rmcilroy@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e>2014-04-29 09:45:46 +0000
committerrmcilroy@chromium.org <rmcilroy@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e>2014-04-29 09:45:46 +0000
commitc2f9501755862151e429b86411d25ce054e6f5fd (patch)
tree1f5e32b03427352c06d121fee102ccc852b73d01 /src/common/dwarf_cfi_to_module.cc
parentClean up common.gypi. (diff)
downloadbreakpad-c2f9501755862151e429b86411d25ce054e6f5fd.tar.xz
Add Arm64 support to dumpsyms.
Adds Arm64 support to dumpsyms, enabling support for EM_AARCH64 elf type and arm64 registers in DwarfCFIToModule. BUG=367367,335641,354405 R=mark@chromium.org Review URL: https://breakpad.appspot.com/1654002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1322 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/common/dwarf_cfi_to_module.cc')
-rw-r--r--src/common/dwarf_cfi_to_module.cc22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/common/dwarf_cfi_to_module.cc b/src/common/dwarf_cfi_to_module.cc
index d0056f32..1bf1d96d 100644
--- a/src/common/dwarf_cfi_to_module.cc
+++ b/src/common/dwarf_cfi_to_module.cc
@@ -105,6 +105,26 @@ vector<string> DwarfCFIToModule::RegisterNames::ARM() {
return MakeVector(names, sizeof(names) / sizeof(names[0]));
}
+// Per ARM IHI 0057A, section 3.1
+vector<string> DwarfCFIToModule::RegisterNames::ARM64() {
+ static const char *const names[] = {
+ "x0", "x1", "x2", "x3", "x4", "x5", "x6", "x7",
+ "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15",
+ "x16", "x17", "x18", "x19", "x20", "x21", "x22", "x23",
+ "x24", "x25", "x26", "x27", "x28", "x29", "x30", "sp",
+ "", "", "", "", "", "", "", "",
+ "", "", "", "", "", "", "", "",
+ "", "", "", "", "", "", "", "",
+ "", "", "", "", "", "", "", "",
+ "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7",
+ "v8", "v9", "v10", "v11", "v12", "v13", "v14", "v15",
+ "v16", "v17", "v18", "v19", "v20", "v21", "v22", "v23",
+ "v24", "v25", "v26", "v27", "v28", "v29", "v30", "v31"
+ };
+
+ return MakeVector(names, sizeof(names) / sizeof(names[0]));
+}
+
vector<string> DwarfCFIToModule::RegisterNames::MIPS() {
static const char* const kRegisterNames[] = {
"$zero", "$at", "$v0", "$v1", "$a0", "$a1", "$a2", "$a3",
@@ -118,7 +138,7 @@ vector<string> DwarfCFIToModule::RegisterNames::MIPS() {
"$f28", "$f29", "$f30", "$f31", "$fcsr", "$fir"
};
- return MakeVector(kRegisterNames,
+ return MakeVector(kRegisterNames,
sizeof(kRegisterNames) / sizeof(kRegisterNames[0]));
}