diff --git a/kaem.run b/kaem.run index 703dd683..31452ee1 100644 --- a/kaem.run +++ b/kaem.run @@ -83,7 +83,7 @@ M2-Planet \ -f lib/linux/ioctl3.c \ -f lib/m2/isatty.c \ -f lib/linux/fork.c \ - -f lib/m2/execve.c \ + -f lib/linux/execve.c \ -f lib/m2/execv.c \ -f lib/m2/waitpid.c \ -f lib/linux/gettimeofday.c \ diff --git a/lib/linux/execve.c b/lib/linux/execve.c index 51c8b4ff..cd3ae1a9 100644 --- a/lib/linux/execve.c +++ b/lib/linux/execve.c @@ -1,6 +1,6 @@ /* -*-comment-start: "//";comment-end:""-*- * GNU Mes --- Maxwell Equations of Software - * Copyright © 2016,2017,2018,2019 Jan (janneke) Nieuwenhuizen + * Copyright © 2016,2017,2018,2019,2020 Jan (janneke) Nieuwenhuizen * * This file is part of GNU Mes. * @@ -18,11 +18,15 @@ * along with GNU Mes. If not, see . */ +#include #include #include int -execve (char const *file_name, char *const argv[], char *const env[]) +execve (char const *file_name, char **argv, char **env) { - return _sys_call3 (SYS_execve, (long) file_name, (long) argv, (long) env); + long long_file_name = cast_voidp_to_long (file_name); + long long_argv = cast_voidp_to_long (argv); + long long_env = cast_voidp_to_long (env); + return _sys_call3 (SYS_execve, long_file_name, long_argv, long_env); } diff --git a/lib/m2/execve.c b/lib/m2/execve.c deleted file mode 100644 index 7fe7c9ba..00000000 --- a/lib/m2/execve.c +++ /dev/null @@ -1,31 +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 - -int -execve (char const *file_name, char **argv, char **env) -{ - long long_file_name = file_name; - long long_argv = argv; - long long_env = env; - return _sys_call3 (SYS_execve, file_name, argv, env); -} diff --git a/simple.make b/simple.make index e8f3b977..6bea0644 100644 --- a/simple.make +++ b/simple.make @@ -122,7 +122,7 @@ M2_SOURCES = \ lib/linux/ioctl3.c \ lib/m2/isatty.c \ lib/linux/fork.c \ - lib/m2/execve.c \ + lib/linux/execve.c \ lib/m2/execv.c \ lib/m2/waitpid.c \ lib/linux/gettimeofday.c \