From 62d486be7c8b6e866c3104b6e8170e69db0a95f1 Mon Sep 17 00:00:00 2001 From: "digit@chromium.org" Date: Tue, 21 Aug 2012 14:34:48 +0000 Subject: Improve Android support This patch remove many Android-specific #ifdefs from the Breakpad source code. This is achieved by providing "fixed-up" platform headers (e.g. or ), in the new directory src/common/android/include/, which masks differences between the NDK and GLibc headers. The old "android_link.h" and "android_ucontext.h" are moved and renamed. This also requires putting this directory as the first include path during Android-hosted builds, hence the modification of Makefile.am and configure.ac Review URL: https://breakpad.appspot.com/434002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1017 4c0a9323-5329-0410-9bdc-e9ce6186880e --- src/client/linux/minidump_writer/linux_dumper.h | 22 ---------------------- .../linux/minidump_writer/linux_ptrace_dumper.cc | 2 -- .../linux/minidump_writer/minidump_writer.cc | 8 -------- 3 files changed, 32 deletions(-) (limited to 'src/client/linux/minidump_writer') diff --git a/src/client/linux/minidump_writer/linux_dumper.h b/src/client/linux/minidump_writer/linux_dumper.h index 42b2a991..0fca9937 100644 --- a/src/client/linux/minidump_writer/linux_dumper.h +++ b/src/client/linux/minidump_writer/linux_dumper.h @@ -42,9 +42,7 @@ #include #include #include -#if !defined(__ANDROID__) #include -#endif #include "common/memory.h" #include "google_breakpad/common/minidump_format.h" @@ -57,23 +55,7 @@ typedef typeof(((struct user*) 0)->u_debugreg[0]) debugreg_t; // Typedef for our parsing of the auxv variables in /proc/pid/auxv. #if defined(__i386) || defined(__ARM_EABI__) -#if !defined(__ANDROID__) typedef Elf32_auxv_t elf_aux_entry; -#else -// Android is missing this structure definition -typedef struct -{ - uint32_t a_type; /* Entry type */ - union - { - uint32_t a_val; /* Integer value */ - } a_un; -} elf_aux_entry; - -#if !defined(AT_SYSINFO_EHDR) -#define AT_SYSINFO_EHDR 33 -#endif -#endif // __ANDROID__ #elif defined(__x86_64) typedef Elf64_auxv_t elf_aux_entry; #endif @@ -104,12 +86,8 @@ struct ThreadInfo { #elif defined(__ARM_EABI__) // Mimicking how strace does this(see syscall.c, search for GETREGS) -#if defined(__ANDROID__) - struct pt_regs regs; -#else struct user_regs regs; struct user_fpregs fpregs; -#endif // __ANDROID__ #endif }; diff --git a/src/client/linux/minidump_writer/linux_ptrace_dumper.cc b/src/client/linux/minidump_writer/linux_ptrace_dumper.cc index 2647801c..5591067a 100644 --- a/src/client/linux/minidump_writer/linux_ptrace_dumper.cc +++ b/src/client/linux/minidump_writer/linux_ptrace_dumper.cc @@ -186,11 +186,9 @@ bool LinuxPtraceDumper::GetThreadInfoByIndex(size_t index, ThreadInfo* info) { return false; } -#if !defined(__ANDROID__) if (sys_ptrace(PTRACE_GETFPREGS, tid, NULL, &info->fpregs) == -1) { return false; } -#endif #if defined(__i386) if (sys_ptrace(PTRACE_GETFPXREGS, tid, NULL, &info->fpxregs) == -1) diff --git a/src/client/linux/minidump_writer/minidump_writer.cc b/src/client/linux/minidump_writer/minidump_writer.cc index fefef1d2..e3eb6c34 100644 --- a/src/client/linux/minidump_writer/minidump_writer.cc +++ b/src/client/linux/minidump_writer/minidump_writer.cc @@ -50,17 +50,13 @@ #include #include #include -#if !defined(__ANDROID__) #include -#endif #include #if defined(__ANDROID__) #include #endif -#if !defined(__ANDROID__) #include #include -#endif #include #include @@ -69,10 +65,6 @@ #include "client/minidump_file_writer.h" #include "google_breakpad/common/minidump_format.h" -#if defined(__ANDROID__) -#include "client/linux/android_link.h" -#include "client/linux/android_ucontext.h" -#endif #include "client/linux/handler/exception_handler.h" #include "client/linux/minidump_writer/line_reader.h" #include "client/linux/minidump_writer/linux_dumper.h" -- cgit v1.2.1