mirror of
https://github.com/chromium/crashpad.git
synced 2024-12-27 15:32:10 +08:00
Mark Mentovai
82009cd14d
android: Support builds with NDK API versions older than 21 (compat)
The new Linux ProcessInfo implementation uses two macros not readily available in NDK API versions older than 21 (Android 5.0.0): NT_PRSTATUS and PR_GETREGSET. Chrome uses API 21 for 64-bit builds, but uses API 16 for 32-bit builds. NT_PRSTATUS is normally defined by <elf.h> or by <linux/elf.h>, included by <elf.h>. Although the definition in <linux/elf.h> is available in older NDK API versions, this internal header does not mix well with <elf.h> unless <elf.h> contemplates this combination. As of NDK API 21, <elf.h> actually delegates most of its work to <linux/elf.h>. PR_GETREGSET is not available in the NDK at all until API 21. Its definition is in <linux/ptrace.h>. Most user code should #include <sys/ptrace.h> instead, which includes <linux/ptrace.h>. Bug: crashpad:30 Test: crashpad_util_test ProcessInfo.* Change-Id: I4d07a9964db4665a49bde490e905ae9126880bc5 Reviewed-on: https://chromium-review.googlesource.com/455659 Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Crashpad
Crashpad is a crash-reporting system.
Documentation
- Project status
- Developing Crashpad: instructions for getting the source code, building, testing, and contributing to the project.
- Crashpad interface documentation
- Crashpad tool man pages
Source Code
Crashpad’s source code is hosted in a Git repository at https://chromium.googlesource.com/crashpad/crashpad.
Other Links
- Bugs can be reported at the Crashpad issue tracker.
- The Crashpad Buildbot performs automated builds and tests.
- crashpad-dev is the Crashpad developers’ mailing list.
Description
Languages
C++
92.6%
Objective-C++
2.5%
C
2%
Python
1.7%
Assembly
0.9%
Other
0.3%