aboutsummaryrefslogtreecommitdiff
path: root/src/common/android/include/link.h
Commit message (Collapse)AuthorAgeFilesLines
* android: Don’t compete with NDK API >= 21 over NDK structuresMark Mentovai2017-09-181-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Chrome uses API 16 for 32-bit builds and API 21 for 64-bit builds. The NDK’s <link.h> provides r_debug and link_map structure definitions only at API 21 and above. Breakpad used a custom <link.h> to define these structures only during 64-bit builds, which worked for Chrome’s purposes. However, other consumers may wish to build Breakpad at arbitrary API levels without regard to bitness. This alters Breakpad’s custom <link.h> to correctly check the NDK API level rather than target CPU bitness. Likewise for <sys/user.h> on 32-bit x86, which provided a typedef for user_fpxregs_struct to user_fxsr_struct. API 21 and above, as well as the unified headers at any API level, always name the structure user_fpxregs_struct. Definitions for 64-bit ARM’s user_regs_struct and user_fpsimd_struct have been removed from Breakpad’s copy of <sys/user.h>. The header claims that these fallback definitions are only necessary with NDK r10, which should no longer be in use even by Chromium, which now uses NDK r12b. This removes the Chromium-specific ANDROID_NDK_MAJOR_VERSION macro from use entirely. Fixes https://stackoverflow.com/questions/44141159/ and b/65630828. Bug: google-breakpad:733 Change-Id: I5841906297cd15b15ce48b73fd8332fd40afc9a0 Reviewed-on: https://chromium-review.googlesource.com/665740 Reviewed-by: Primiano Tucci <primiano@chromium.org> Reviewed-by: Joshua Peraza <jperaza@chromium.org>
* Revert "Don't define |r_debug| and |link_map| on Android releases 21 and later"Sylvain Defresne2016-08-101-21/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 0fc6d0c8dfbb6e4226fd79c622b701a62c901f14 because it does not compile in Chromium due to the following error: In file included from ../../breakpad/src/client/linux/minidump_writer/linux_dumper.h:43:0, from ../../breakpad/src/client/linux/minidump_writer/minidump_writer.h:41, from ../../breakpad/src/client/linux/handler/exception_handler.h:42, from ../../components/crash/content/app/breakpad_linux.cc:44: ../../breakpad/src/common/android/include/link.h:46:9: error: multi-line comment [-Werror=comment] #endif // !defined(__aarch64__) && !defined(__x86_64__) && \ ^ > Don't define |r_debug| and |link_map| on Android releases 21 and later > > NDKs for Android 21 and later have the data structures |r_debug| and > |link_map| defined in their header files. Defining them multiple times > generates a compiler error. > > This patch protects both data structures from definition on Android 21 > and later. > > BUG=629088 > R=rmcilroy@chromium.org > > Review URL: https://codereview.chromium.org/2156173002 . > > Patch from Thomas Zimmermann <tzimmermann@mozilla.com>. > > Committed: https://chromium.googlesource.com/breakpad/breakpad/+/0ebdc4a10a506e2a4a3a039c479b40219a84b760 BUG=629088 Change-Id: Ia8d7d0eff060d661113e544d732813820bcb69e0 Reviewed-on: https://chromium-review.googlesource.com/367717 Reviewed-by: Mark Mentovai <mark@chromium.org>
* Don't define |r_debug| and |link_map| on Android releases 21 and laterThomas Zimmermann2016-08-031-5/+21
| | | | | | | | | | | | | | | | | | NDKs for Android 21 and later have the data structures |r_debug| and |link_map| defined in their header files. Defining them multiple times generates a compiler error. This patch protects both data structures from definition on Android 21 and later. BUG=629088 R=rmcilroy@chromium.org Review URL: https://codereview.chromium.org/2156173002 . Patch from Thomas Zimmermann <tzimmermann@mozilla.com>. Committed: https://chromium.googlesource.com/breakpad/breakpad/+/0ebdc4a10a506e2a4a3a039c479b40219a84b760
* Revert "Don't define |r_debug| and |link_map| on Android releases 21 and later"Ross McIlroy2016-07-201-10/+2
| | | | | | | | | | | This reverts commit 0fc10739232ac803f7304d01522db6051c7454ff. Reason: breaks 64bit Android architectures. BUG=629088 R=primiano@chromium.org Review URL: https://codereview.chromium.org/2163923002 .
* Don't define |r_debug| and |link_map| on Android releases 21 and laterThomas Zimmermann2016-07-191-2/+10
| | | | | | | | | | | | | | | | NDKs for Android 21 and later have the data structures |r_debug| and |link_map| defined in their header files. Defining them multiple times generates a compiler error. This patch protects both data structures from definition on Android 21 and later. BUG=629088 R=rmcilroy@chromium.org Review URL: https://codereview.chromium.org/2156173002 . Patch from Thomas Zimmermann <tzimmermann@mozilla.com>.
* MIPS64: Initial MIPS64 related change.mark@chromium.org2015-04-151-1/+2
| | | | | | | | | | | With this change Breakpad can be compiled for MIPS64, but it is not yet functional. Patch by Gordana Cmiljanovic <Gordana.Cmiljanovic@imgtec.com> Review URL: https://breakpad.appspot.com/6824002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1446 4c0a9323-5329-0410-9bdc-e9ce6186880e
* First cut at adding arm64 Linux / Android support to Breakpad.rmcilroy@chromium.org2014-04-021-0/+6
| | | | | | | | | | | | | | 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
* Remove some unecessary Android system header definitions.rmcilroy@chromium.org2014-04-021-6/+3
| | | | | | | | | | | Newer NDKs include some additional headers needed by Breakpad, so we can remove these redefinitions. BUG=358831,335641,354405 R=mark@chromium.org Review URL: https://breakpad.appspot.com/1374002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1300 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Improve Android supportdigit@chromium.org2012-08-211-0/+67
This patch remove many Android-specific #ifdefs from the Breakpad source code. This is achieved by providing "fixed-up" platform headers (e.g. <signal.h> or <sys/user,h>), 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