Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(139)

Unified Diff: sandbox/linux/services/android_arm_ucontext.h

Issue 11971028: Android: create a generic android_ucontext.h (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sandbox/linux/seccomp-bpf/sandbox_bpf.cc ('k') | sandbox/linux/services/android_ucontext.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sandbox/linux/services/android_arm_ucontext.h
diff --git a/sandbox/linux/services/android_arm_ucontext.h b/sandbox/linux/services/android_arm_ucontext.h
index 0c21e2092796d8ce83100bf8e9876c0a009cc00e..e05e8a8ceba5e2e6a6075d09fee21b108b7a894f 100644
--- a/sandbox/linux/services/android_arm_ucontext.h
+++ b/sandbox/linux/services/android_arm_ucontext.h
@@ -5,10 +5,19 @@
#ifndef SANDBOX_LINUX_SERVICES_ANDROID_ARM_UCONTEXT_H_
#define SANDBOX_LINUX_SERVICES_ANDROID_ARM_UCONTEXT_H_
+#if !defined(__BIONIC_HAVE_UCONTEXT_T)
#include <asm/sigcontext.h>
-typedef long int greg_t;
-typedef unsigned long sigset_t;
+// We also need greg_t for the sandbox, include it in this header as well.
+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
+
+// sigset_t from arch/arm/include/asm/signal.h in the Linux kernel.
+typedef struct {
+ 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
+} android_header_sigset_t; // Change name to avoid collissions if sigset_t
+ // 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.
+
+//typedef unsigned long sigset_t;
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
unsigned long uc_flags;
struct ucontext *uc_link;
@@ -16,9 +25,14 @@ typedef struct ucontext {
struct sigcontext uc_mcontext;
sigset_t uc_sigmask;
/* Allow for uc_sigmask growth. Glibc uses a 1024-bit sigset_t. */
- int __not_used[32 - (sizeof (sigset_t) / sizeof (int))];
+ int __not_used[32 - (sizeof (android_header_sigset_t) / sizeof (int))];
/* Last for extensibility. Eight byte aligned because some
coprocessors require eight byte alignment. */
unsigned long uc_regspace[128] __attribute__((__aligned__(8)));
} ucontext_t;
+
+#else
+#include <sys/ucontext.h>
+#endif // __BIONIC_HAVE_UCONTEXT_T
+
#endif // SANDBOX_LINUX_SERVICES_ANDROID_ARM_UCONTEXT_H_
« no previous file with comments | « sandbox/linux/seccomp-bpf/sandbox_bpf.cc ('k') | sandbox/linux/services/android_ucontext.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698