diff options
author | rmcilroy@chromium.org <rmcilroy@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2014-04-29 09:45:46 +0000 |
---|---|---|
committer | rmcilroy@chromium.org <rmcilroy@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2014-04-29 09:45:46 +0000 |
commit | c2f9501755862151e429b86411d25ce054e6f5fd (patch) | |
tree | 1f5e32b03427352c06d121fee102ccc852b73d01 /src/common/linux | |
parent | Clean up common.gypi. (diff) | |
download | breakpad-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/linux')
-rw-r--r-- | src/common/linux/dump_symbols.cc | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/common/linux/dump_symbols.cc b/src/common/linux/dump_symbols.cc index b03bea87..a4686d25 100644 --- a/src/common/linux/dump_symbols.cc +++ b/src/common/linux/dump_symbols.cc @@ -90,6 +90,11 @@ using google_breakpad::StabsToModule; #endif using google_breakpad::scoped_ptr; +// Define AARCH64 ELF architecture if host machine does not include this define. +#ifndef EM_AARCH64 +#define EM_AARCH64 183 +#endif + // // FDWrapper // @@ -293,6 +298,9 @@ bool DwarfCFIRegisterNames(const typename ElfClass::Ehdr* elf_header, case EM_ARM: *register_names = DwarfCFIToModule::RegisterNames::ARM(); return true; + case EM_AARCH64: + *register_names = DwarfCFIToModule::RegisterNames::ARM64(); + return true; case EM_MIPS: *register_names = DwarfCFIToModule::RegisterNames::MIPS(); return true; @@ -754,6 +762,7 @@ const char* ElfArchitecture(const typename ElfClass::Ehdr* elf_header) { switch (arch) { case EM_386: return "x86"; case EM_ARM: return "arm"; + case EM_AARCH64: return "arm64"; case EM_MIPS: return "mips"; case EM_PPC64: return "ppc64"; case EM_PPC: return "ppc"; |