diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-11-06 09:41:56 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-11-06 09:41:56 +0000 |
commit | b261877aa2bd3f3bf8e31490144c0dd05ebb0369 (patch) | |
tree | 592dfa4c5da0b2f747924e5303aa856760fe858d /gcc/ada/sysdep.c | |
parent | 58621cf44792116fae27cff0689232b48f782cad (diff) |
2012-11-06 Bernard Banner <banner@adacore.com>
* adaint.c Add file macro definitions missing on Android.
* adaint.h Avoid definitions related to task affinity and CPU
sets since this functionality is missing on the Android
* errno.c (__set_errno): Android already contains such a named
procedure so do include again.
* gsocket.h: Sockets not supported on Android.
* init.c: Avoid linux related code not supported on Android.
* sysdep.c (sigismember, sigaddset, sigdelset, sigemptyset,
sigfillset): wrapper functions since sig routines are defined
as inline macros on Android.
* terminals.c: Add stubs for terminal related functions not
supported on Android.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193213 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/sysdep.c')
-rw-r--r-- | gcc/ada/sysdep.c | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/gcc/ada/sysdep.c b/gcc/ada/sysdep.c index ee31840d8d6..62a96ddea55 100644 --- a/gcc/ada/sysdep.c +++ b/gcc/ada/sysdep.c @@ -44,6 +44,10 @@ #include "vxWorks.h" #endif +#ifdef __ANDROID__ +#undef linux +#endif + #ifdef IN_RTS #define POSIX #include "tconfig.h" @@ -923,3 +927,53 @@ __gnat_is_file_not_found_error (int errno_val) { return 0; } } + +#ifdef __ANDROID__ + +/* Provide extern symbols for sig* as needed by the tasking run-time, instead + of static inline functions. */ + +#define sigismember android_sigismember +#define sigaddset android_sigaddset +#define sigdelset android_sigdelset +#define sigemptyset android_sigemptyset +#define sigfillset android_sigfillset + +#include <signal.h> + +#undef sigismember +#undef sigaddset +#undef sigdelset +#undef sigemptyset +#undef sigfillset + +int +sigismember (sigset_t *set, int signum) +{ + return android_sigismember (set, signum); +} + +int +sigaddset (sigset_t *set, int signum) +{ + return android_sigaddset (set, signum); +} + +int +sigdelset (sigset_t *set, int signum) +{ + return android_sigdelset (set, signum); +} + +int +sigemptyset (sigset_t *set) +{ + return android_sigemptyset (set); +} + +int +sigfillset(sigset_t *set) +{ + return android_sigfillset (set); +} +#endif |