aboutsummaryrefslogtreecommitdiff
path: root/src/common/android/include/elf.h
diff options
context:
space:
mode:
authorrmcilroy@chromium.org <rmcilroy@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e>2014-04-02 23:12:40 +0000
committerrmcilroy@chromium.org <rmcilroy@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e>2014-04-02 23:12:40 +0000
commit83b9a28cf94979f9b6c33f492a4072766eff3e6e (patch)
treee43731eb28abb4b5d192e20efb9286de01dfe927 /src/common/android/include/elf.h
parentRemove some unecessary Android system header definitions. (diff)
downloadbreakpad-83b9a28cf94979f9b6c33f492a4072766eff3e6e.tar.xz
First cut at adding arm64 Linux / Android support to Breakpad.
This is an initial attempt to add Arm64 (aarch64) support to Breakpad for Linux / Android platforms. This CL adds the Arm64 data structures, but does not yet implement the Android getcontext support or CPUFillFromThreadInfo / CPUFillFromUContext. BUG=354405,335641 R=mark@chromium.org Review URL: https://breakpad.appspot.com/1354002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1301 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/common/android/include/elf.h')
-rw-r--r--src/common/android/include/elf.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/common/android/include/elf.h b/src/common/android/include/elf.h
index af50a799..b2a28df4 100644
--- a/src/common/android/include/elf.h
+++ b/src/common/android/include/elf.h
@@ -38,7 +38,7 @@ extern "C" {
#endif // __cplusplus
// The Android <elf.h> provides BSD-based definitions for the ElfXX_Nhdr
-// types
+// types
// always source-compatible with the GLibc/kernel ones. To overcome this
// issue without modifying a lot of code in Breakpad, use an ugly macro
// renaming trick with #include_next
@@ -110,9 +110,14 @@ typedef struct {
// __WORDSIZE is GLibc-specific and used by Google Breakpad on Linux.
-// All Android platforms are 32-bit for now.
#ifndef __WORDSIZE
+#if defined(__i386__) || defined(__ARM_EABI__) || defined(__mips__)
#define __WORDSIZE 32
+#elif defined(__x86_64__) || defined(__aarch64__)
+#define __WORDSIZE 64
+#else
+#error "Unsupported Android CPU ABI"
+#endif
#endif
// The Android headers don't always define this constant.