blob: 1b383fb534128a3c2b2989e55883b9cb0878c602 [file] [log] [blame]
Tamas Berghammer1e209fc2015-03-13 11:36:47 +00001//===-- 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__)
17typedef unsigned long elf_greg_t;
18typedef elf_greg_t elf_gregset_t[(sizeof (struct user_pt_regs) / sizeof(elf_greg_t))];
19typedef struct user_fpsimd_state elf_fpregset_t;
20#ifndef NT_FPREGSET
21 #define NT_FPREGSET NT_PRFPREG
22#endif // NT_FPREGSET
Tamas Berghammer068f8a72015-05-26 11:58:52 +000023#elif defined (__mips__)
24typedef unsigned long elf_greg_t;
25typedef elf_greg_t elf_gregset_t[(sizeof (struct user_regs_struct) / sizeof(elf_greg_t))];
26typedef struct user_fpsimd_state elf_fpregset_t;
27#ifndef NT_FPREGSET
28 #define NT_FPREGSET NT_PRFPREG
29#endif // NT_FPREGSET
30#endif
Tamas Berghammer1e209fc2015-03-13 11:36:47 +000031#else // __ANDROID__
32#include <sys/procfs.h>
33#endif // __ANDROID__