1 //===-- Procfs.h ---------------------------------------------- -*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 // source/Plugins/Process/Linux/Procfs.h defines the symbols we need from 11 // sys/procfs.h on Android/Linux for all supported architectures. 12 13 #include <sys/ptrace.h> 14 15 #ifdef __ANDROID__ 16 #if defined(__arm64__) || defined(__aarch64__) 17 typedef unsigned long elf_greg_t; 18 typedef elf_greg_t 19 elf_gregset_t[(sizeof(struct user_pt_regs) / sizeof(elf_greg_t))]; 20 typedef struct user_fpsimd_state elf_fpregset_t; 21 #ifndef NT_FPREGSET 22 #define NT_FPREGSET NT_PRFPREG 23 #endif // NT_FPREGSET 24 #elif defined(__mips__) 25 #ifndef NT_FPREGSET 26 #define NT_FPREGSET NT_PRFPREG 27 #endif // NT_FPREGSET 28 #endif 29 #else // __ANDROID__ 30 #include <sys/procfs.h> 31 #endif // __ANDROID__ 32