From c2f9501755862151e429b86411d25ce054e6f5fd Mon Sep 17 00:00:00 2001 From: "rmcilroy@chromium.org" Date: Tue, 29 Apr 2014 09:45:46 +0000 Subject: 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 --- src/common/linux/dump_symbols.cc | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/common/linux/dump_symbols.cc') 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"; -- cgit v1.2.1