Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_SERVICES_ANDROID_ARM_UCONTEXT_H_ | 5 #ifndef SANDBOX_LINUX_SERVICES_ANDROID_ARM_UCONTEXT_H_ |
| 6 #define SANDBOX_LINUX_SERVICES_ANDROID_ARM_UCONTEXT_H_ | 6 #define SANDBOX_LINUX_SERVICES_ANDROID_ARM_UCONTEXT_H_ |
| 7 | 7 |
| 8 #if !defined(__BIONIC_HAVE_UCONTEXT_T) | |
| 8 #include <asm/sigcontext.h> | 9 #include <asm/sigcontext.h> |
| 9 | 10 |
| 10 typedef long int greg_t; | 11 // We also need greg_t for the sandbox, include it in this header as well. |
| 11 typedef unsigned long sigset_t; | 12 typedef unsigned long greg_t; |
|
palmer
2013/01/17 01:33:46
So, it was supposed to have been unsigned before?
jln (very slow on Chromium)
2013/01/17 01:53:28
It was wrong before. Someone nice added it to gree
| |
| 13 | |
| 14 // sigset_t from arch/arm/include/asm/signal.h in the Linux kernel. | |
| 15 typedef struct { | |
| 16 unsigned long sig[2]; // 2 is actually _NSIG_WORDS. | |
|
Markus (顧孟勤)
2013/01/17 01:31:34
Is this correct for 64bit architectures. I thought
palmer
2013/01/17 01:33:46
Style nit: I'd align these comments. Or, preferabl
palmer
2013/01/17 01:33:46
I'd be surprised if that assumption holds for long
jln (very slow on Chromium)
2013/01/17 01:53:28
Yeah I tried to copy exactly what they were doing
| |
| 17 } android_header_sigset_t; // Change name to avoid collissions if sigset_t | |
| 18 // gets defined nower Android headers. | |
|
palmer
2013/01/17 01:33:46
collisions (one s)
nower --> in newer
jln (very slow on Chromium)
2013/01/17 01:53:28
Done.
| |
| 19 | |
| 20 //typedef unsigned long sigset_t; | |
| 12 typedef struct ucontext { | 21 typedef struct ucontext { |
|
palmer
2013/01/17 01:33:46
Style nit: Since we are poking this code and not b
jln (very slow on Chromium)
2013/01/17 01:53:28
I'll keep it as is if you don't mind I would reall
| |
| 13 unsigned long uc_flags; | 22 unsigned long uc_flags; |
| 14 struct ucontext *uc_link; | 23 struct ucontext *uc_link; |
| 15 stack_t uc_stack; | 24 stack_t uc_stack; |
| 16 struct sigcontext uc_mcontext; | 25 struct sigcontext uc_mcontext; |
| 17 sigset_t uc_sigmask; | 26 sigset_t uc_sigmask; |
| 18 /* Allow for uc_sigmask growth. Glibc uses a 1024-bit sigset_t. */ | 27 /* Allow for uc_sigmask growth. Glibc uses a 1024-bit sigset_t. */ |
| 19 int __not_used[32 - (sizeof (sigset_t) / sizeof (int))]; | 28 int __not_used[32 - (sizeof (android_header_sigset_t) / sizeof (int))]; |
| 20 /* Last for extensibility. Eight byte aligned because some | 29 /* Last for extensibility. Eight byte aligned because some |
| 21 coprocessors require eight byte alignment. */ | 30 coprocessors require eight byte alignment. */ |
| 22 unsigned long uc_regspace[128] __attribute__((__aligned__(8))); | 31 unsigned long uc_regspace[128] __attribute__((__aligned__(8))); |
| 23 } ucontext_t; | 32 } ucontext_t; |
| 33 | |
| 34 #else | |
| 35 #include <sys/ucontext.h> | |
| 36 #endif // __BIONIC_HAVE_UCONTEXT_T | |
| 37 | |
| 24 #endif // SANDBOX_LINUX_SERVICES_ANDROID_ARM_UCONTEXT_H_ | 38 #endif // SANDBOX_LINUX_SERVICES_ANDROID_ARM_UCONTEXT_H_ |
| OLD | NEW |