|  | //===-- Procfs.h ---------------------------------------------- -*- C++ -*-===// | 
|  | // | 
|  | //                     The LLVM Compiler Infrastructure | 
|  | // | 
|  | // This file is distributed under the University of Illinois Open Source | 
|  | // License. See LICENSE.TXT for details. | 
|  | // | 
|  | //===----------------------------------------------------------------------===// | 
|  |  | 
|  | // source/Plugins/Process/Linux/Procfs.h defines the symbols we need from | 
|  | // sys/procfs.h on Android/Linux for all supported architectures. | 
|  |  | 
|  | #include <sys/ptrace.h> | 
|  |  | 
|  | #ifdef __ANDROID__ | 
|  | #if defined(__arm64__) || defined(__aarch64__) | 
|  | typedef unsigned long elf_greg_t; | 
|  | typedef elf_greg_t | 
|  | elf_gregset_t[(sizeof(struct user_pt_regs) / sizeof(elf_greg_t))]; | 
|  | typedef struct user_fpsimd_state elf_fpregset_t; | 
|  | #ifndef NT_FPREGSET | 
|  | #define NT_FPREGSET NT_PRFPREG | 
|  | #endif // NT_FPREGSET | 
|  | #elif defined(__mips__) | 
|  | #ifndef NT_FPREGSET | 
|  | #define NT_FPREGSET NT_PRFPREG | 
|  | #endif // NT_FPREGSET | 
|  | #endif | 
|  | #else // __ANDROID__ | 
|  | #include <sys/procfs.h> | 
|  | #endif // __ANDROID__ |