OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef SANDBOX_LINUX_SYSTEM_HEADERS_ARM64_LINUX_UCONTEXT_H_ | 5 #ifndef SANDBOX_LINUX_SYSTEM_HEADERS_ARM64_LINUX_UCONTEXT_H_ |
6 #define SANDBOX_LINUX_SYSTEM_HEADERS_ARM64_LINUX_UCONTEXT_H_ | 6 #define SANDBOX_LINUX_SYSTEM_HEADERS_ARM64_LINUX_UCONTEXT_H_ |
7 | 7 |
8 #if !defined(__BIONIC_HAVE_UCONTEXT_T) | 8 #if !defined(__BIONIC_HAVE_UCONTEXT_T) |
9 #include <asm/sigcontext.h> | 9 #include <asm/sigcontext.h> |
10 #include <signal.h> | 10 #include <signal.h> |
11 #include <stdint.h> | |
12 // We also need greg_t for the sandbox, include it in this header as well. | 11 // We also need greg_t for the sandbox, include it in this header as well. |
13 typedef uint64_t greg_t; | 12 typedef uint64_t greg_t; |
14 | 13 |
15 struct ucontext_t { | 14 struct ucontext_t { |
16 unsigned long uc_flags; | 15 unsigned long uc_flags; |
17 struct ucontext* uc_link; | 16 struct ucontext* uc_link; |
18 stack_t uc_stack; | 17 stack_t uc_stack; |
19 sigset_t uc_sigmask; | 18 sigset_t uc_sigmask; |
20 /* glibc uses a 1024-bit sigset_t */ | 19 /* glibc uses a 1024-bit sigset_t */ |
21 uint8_t unused[1024 / 8 - sizeof(sigset_t)]; | 20 uint8_t unused[1024 / 8 - sizeof(sigset_t)]; |
22 /* last for future expansion */ | 21 /* last for future expansion */ |
23 struct sigcontext uc_mcontext; | 22 struct sigcontext uc_mcontext; |
24 }; | 23 }; |
25 | 24 |
26 #else | 25 #else |
27 #include <sys/ucontext.h> | 26 #include <sys/ucontext.h> |
28 #endif // __BIONIC_HAVE_UCONTEXT_T | 27 #endif // __BIONIC_HAVE_UCONTEXT_T |
29 | 28 |
30 #endif // SANDBOX_LINUX_SYSTEM_HEADERS_ARM64_LINUX_UCONTEXT_H_ | 29 #endif // SANDBOX_LINUX_SYSTEM_HEADERS_ARM64_LINUX_UCONTEXT_H_ |
OLD | NEW |