mirror of
https://github.com/chromium/crashpad.git
synced 2024-12-30 01:06:56 +08:00
82009cd14d
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>
26 lines
901 B
C
26 lines
901 B
C
// Copyright 2017 The Crashpad Authors. All rights reserved.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
#ifndef CRASHPAD_COMPAT_ANDROID_LINUX_PTRACE_H_
|
|
#define CRASHPAD_COMPAT_ANDROID_LINUX_PTRACE_H_
|
|
|
|
#include_next <linux/ptrace.h>
|
|
|
|
// Android 5.0.0 (API 21) NDK
|
|
#if !defined(PTRACE_GETREGSET)
|
|
#define PTRACE_GETREGSET 0x4204
|
|
#endif
|
|
|
|
#endif // CRASHPAD_COMPAT_ANDROID_LINUX_PTRACE_H_
|