diff options
Diffstat (limited to 'newlib/libc/sys/linux/linuxthreads/reqsyscalls.c')
-rw-r--r-- | newlib/libc/sys/linux/linuxthreads/reqsyscalls.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/newlib/libc/sys/linux/linuxthreads/reqsyscalls.c b/newlib/libc/sys/linux/linuxthreads/reqsyscalls.c new file mode 100644 index 000000000..714a8ba36 --- /dev/null +++ b/newlib/libc/sys/linux/linuxthreads/reqsyscalls.c @@ -0,0 +1,20 @@ +/* EL/IX level 1 and 2 libraries don't have the following syscalls, + but we need them due to our threading model based on processes */ + +#include <time.h> +#include <sched.h> +#include <sys/wait.h> +#include <machine/syscall.h> + +#define __NR___waitpid __NR_waitpid +#define __NR___sched_getparam __NR_sched_getparam +#define __NR___sched_getscheduler __NR_sched_getscheduler +#define __NR___sched_setscheduler __NR_sched_setscheduler + +_syscall2(int,__sched_getparam,pid_t,pid,struct sched_param *,sched); +_syscall1(int,__sched_getscheduler,pid_t,pid); +_syscall3(int,__sched_setscheduler,pid_t,pid,int,policy,const struct sched_param *,sched); + +/* we want __libc____waitpid defined to support __waitpid which is + defined in wrapsyscall.c */ +_syscall3_base(pid_t,__waitpid,pid_t,pid,int *,wait_stat,int,options) |