From ec0123f8552ba7b5764b02fef8146b4c9346a922 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Tue, 29 Dec 2020 18:23:56 +0100 Subject: [PATCH] Mes C Library: m2/waitpid.c: Remove specialization. * lib/linux/waitpid.c: Cater for M2-Planet. * lib/m2/waitpid.c: Remove. * kaem.run: Update accordingly. * simple.make (M2_SOURCES, M2_TODO): Likewise. --- kaem.run | 2 +- lib/linux/waitpid.c | 14 +++++++++----- lib/m2/waitpid.c | 38 -------------------------------------- simple.make | 2 +- 4 files changed, 11 insertions(+), 45 deletions(-) delete mode 100644 lib/m2/waitpid.c diff --git a/kaem.run b/kaem.run index 244211f8..91c490f8 100644 --- a/kaem.run +++ b/kaem.run @@ -81,7 +81,7 @@ M2-Planet \ -f lib/linux/fork.c \ -f lib/m2/execve.c \ -f lib/m2/execv.c \ - -f lib/m2/waitpid.c \ + -f lib/linux/waitpid.c \ -f lib/linux/gettimeofday.c \ -f lib/m2/clock_gettime.c \ -f lib/m2/time.c \ diff --git a/lib/linux/waitpid.c b/lib/linux/waitpid.c index 693e3dfa..455cd264 100644 --- a/lib/linux/waitpid.c +++ b/lib/linux/waitpid.c @@ -18,17 +18,21 @@ * along with GNU Mes. If not, see . */ +#include #include #include #include -pid_t -waitpid (pid_t pid, int *status_ptr, int options) +int +waitpid (int pid, int *status_ptr, int options) { + long long_pid = pid; + long long_status_ptr = cast_voidp_to_long (status_ptr); + long long_options = options; #if __i386__ - return _sys_call3 (SYS_waitpid, (long) pid, (long) status_ptr, (int) options); -#elif __x86_64__ || __arm__ - return _sys_call4 (SYS_wait4, (long) pid, (long) status_ptr, (int) options, 0); + return _sys_call3 (SYS_waitpid, long_pid, long_status_ptr, long_options); +#elif __x86_64__ + return _sys_call4 (SYS_wait4, long_pid, long_status_ptr, long_options, 0); #else #error arch not supported #endif diff --git a/lib/m2/waitpid.c b/lib/m2/waitpid.c deleted file mode 100644 index 3e2b8238..00000000 --- a/lib/m2/waitpid.c +++ /dev/null @@ -1,38 +0,0 @@ -/* -*-comment-start: "//";comment-end:""-*- - * GNU Mes --- Maxwell Equations of Software - * Copyright © 2016,2017,2018,2019 Jan (janneke) Nieuwenhuizen - * - * This file is part of GNU Mes. - * - * GNU Mes is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or (at - * your option) any later version. - * - * GNU Mes is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Mes. If not, see . - */ - -#include -#include -#include - -int -waitpid (int pid, int *status_ptr, int options) -{ - long long_pid = pid; - long long_status_ptr = status_ptr; - long long_options = options; -#if __i386__ - return _sys_call3 (SYS_waitpid, long_pid, long_status_ptr, long_options); -#elif __x86_64__ - return _sys_call4 (SYS_wait4, long_pid, long_status_ptr, long_options, 0); -#else -#error arch not supported -#endif -} diff --git a/simple.make b/simple.make index 7706725d..f3230c23 100644 --- a/simple.make +++ b/simple.make @@ -123,7 +123,7 @@ M2_SOURCES = \ lib/linux/fork.c \ lib/m2/execve.c \ lib/m2/execv.c \ - lib/m2/waitpid.c \ + lib/linux/waitpid.c \ lib/linux/gettimeofday.c \ lib/m2/clock_gettime.c \ lib/m2/time.c \