diff options
author | Bernard Banner <banner@adacore.com> | 2012-11-06 09:41:56 +0000 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2012-11-06 10:41:56 +0100 |
commit | 3c55062f3030f6dcd365f89ba9ecfea2131889b4 (patch) | |
tree | 592dfa4c5da0b2f747924e5303aa856760fe858d /gcc/ada/sysdep.c | |
parent | 055311ddefe5674b074075c3720e23693370f062 (diff) | |
download | gcc-3c55062f3030f6dcd365f89ba9ecfea2131889b4.zip gcc-3c55062f3030f6dcd365f89ba9ecfea2131889b4.tar.gz gcc-3c55062f3030f6dcd365f89ba9ecfea2131889b4.tar.bz2 |
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.
From-SVN: r193213
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 ee31840..62a96dd 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 |