From 0b6cc95246754410ed315491642f909f37685a99 Mon Sep 17 00:00:00 2001 From: "primiano@chromium.org" Date: Tue, 2 Dec 2014 15:31:25 +0000 Subject: Microdumps: support aarch64 and lib mapping from APK - Filter modules by prot flags (only +x) not extensions. It wouldn't otherwise catch the case of Chrome mapping the library from the apk (which is mapped r-x but doesn't end in .so). - Use compile-time detection of target arch, in order to cope with multilib OSes, where uname() doesn't reflect the run-time arch. - Add OS information and CPU arch / count. - Add support for aarch64. - Add tests and stackwalk expectations for aarch64. - Fix a potential overflow bug in the processor. - Rebaseline the tests using smaller symbols. - Fix microdump_writer_unittest.cc on 32-bit host. BUG=chromium:410294 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1407 4c0a9323-5329-0410-9bdc-e9ce6186880e --- src/google_breakpad/processor/microdump.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/google_breakpad/processor') diff --git a/src/google_breakpad/processor/microdump.h b/src/google_breakpad/processor/microdump.h index 3676bd67..abdaecb1 100644 --- a/src/google_breakpad/processor/microdump.h +++ b/src/google_breakpad/processor/microdump.h @@ -46,6 +46,7 @@ #include "common/using_std_string.h" #include "google_breakpad/processor/dump_context.h" #include "google_breakpad/processor/memory_region.h" +#include "google_breakpad/processor/system_info.h" #include "processor/basic_code_modules.h" namespace google_breakpad { @@ -64,6 +65,7 @@ class MicrodumpModules : public BasicCodeModules { class MicrodumpContext : public DumpContext { public: virtual void SetContextARM(MDRawContextARM* arm); + virtual void SetContextARM64(MDRawContextARM64* arm64); }; // This class provides access to microdump memory regions. @@ -109,11 +111,13 @@ class Microdump { DumpContext* GetContext() { return context_.get(); } MicrodumpMemoryRegion* GetMemory() { return stack_region_.get(); } MicrodumpModules* GetModules() { return modules_.get(); } + SystemInfo* GetSystemInfo() { return system_info_.get(); } private: scoped_ptr context_; scoped_ptr stack_region_; scoped_ptr modules_; + scoped_ptr system_info_; }; } // namespace google_breakpad -- cgit v1.2.1