blob: 1d9c9dbe273fd4329d6247c1ff6a9dc6a75a9610 [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__
Kate Stoneb9c1b512016-09-06 20:57:50 +000016#if defined(__arm64__) || defined(__aarch64__)
Tamas Berghammer1e209fc2015-03-13 11:36:47 +000017typedef unsigned long elf_greg_t;
Kate Stoneb9c1b512016-09-06 20:57:50 +000018typedef elf_greg_t
19 elf_gregset_t[(sizeof(struct user_pt_regs) / sizeof(elf_greg_t))];
Tamas Berghammer1e209fc2015-03-13 11:36:47 +000020typedef struct user_fpsimd_state elf_fpregset_t;
21#ifndef NT_FPREGSET
Kate Stoneb9c1b512016-09-06 20:57:50 +000022#define NT_FPREGSET NT_PRFPREG
Tamas Berghammer1e209fc2015-03-13 11:36:47 +000023#endif // NT_FPREGSET
Kate Stoneb9c1b512016-09-06 20:57:50 +000024#elif defined(__mips__)
Tamas Berghammer068f8a72015-05-26 11:58:52 +000025#ifndef NT_FPREGSET
Kate Stoneb9c1b512016-09-06 20:57:50 +000026#define NT_FPREGSET NT_PRFPREG
Tamas Berghammer068f8a72015-05-26 11:58:52 +000027#endif // NT_FPREGSET
28#endif
Kate Stoneb9c1b512016-09-06 20:57:50 +000029#else // __ANDROID__
Tamas Berghammer1e209fc2015-03-13 11:36:47 +000030#include <sys/procfs.h>
31#endif // __ANDROID__