aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/ada/sigtramp.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/ada/sigtramp.h')
-rw-r--r--gcc-4.9/gcc/ada/sigtramp.h25
1 files changed, 22 insertions, 3 deletions
diff --git a/gcc-4.9/gcc/ada/sigtramp.h b/gcc-4.9/gcc/ada/sigtramp.h
index cf5f4707e..7419e1725 100644
--- a/gcc-4.9/gcc/ada/sigtramp.h
+++ b/gcc-4.9/gcc/ada/sigtramp.h
@@ -6,7 +6,7 @@
* *
* C Header File *
* *
- * Copyright (C) 2011-2013, Free Software Foundation, Inc. *
+ * Copyright (C) 2011-2014, Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
@@ -41,10 +41,29 @@
extern "C" {
#endif
- typedef void sighandler_t (int signo, void *siginfo, void *sigcontext);
+#ifdef __ANDROID__
+#include <stdlib.h>
+#include <asm/signal.h>
+#include <asm/sigcontext.h>
+
+/* Android SDK doesn't define these structs */
+typedef struct sigcontext mcontext_t;
+
+typedef struct ucontext
+ {
+ unsigned long uc_flags;
+ struct ucontext *uc_link;
+ stack_t uc_stack;
+ mcontext_t uc_mcontext;
+} ucontext_t;
+#endif
+
+ /* This typedef signature sometimes conflicts with the sighandler_t from
+ system headers so call it something unique. */
+ typedef void __sigtramphandler_t (int signo, void *siginfo, void *sigcontext);
void __gnat_sigtramp (int signo, void *siginfo, void *sigcontext,
- sighandler_t * handler);
+ __sigtramphandler_t * handler);
/* To be called from an established signal handler. Setup the DWARF CFI
bits letting unwinders walk through the signal frame up into the