hurd: Add stubs for missing libc+tcc functions.
authorJan Nieuwenhuizen <janneke@gnu.org>
Sat, 27 Apr 2019 10:21:10 +0000 (06:21 -0400)
committerJan Nieuwenhuizen <janneke@gnu.org>
Fri, 13 Dec 2019 20:52:30 +0000 (21:52 +0100)
* lib/stub/close.c: New file.
* lib/stub/rmdir.c: New file.
* lib/stub/stat.c: New file.
* build-aux/configure-lib.sh (libc_tcc_SOURCES)[gnu]: Add them.

build-aux/configure-lib.sh
lib/stub/close.c [new file with mode: 0644]
lib/stub/rmdir.c [new file with mode: 0644]
lib/stub/stat.c [new file with mode: 0644]

index d16a24f2ae2ddf77132c2b7e7041851efb0c78ba..08ad2baace7a091c3df276510f0ebc6cee6bc3ab 100644 (file)
@@ -267,6 +267,14 @@ lib/linux/stat.c
 "
 fi
 
+if test $mes_kernel = gnu; then
+    libc_tcc_SOURCES="$libc_tcc_SOURCES
+lib/stub/close.c
+lib/stub/rmdir.c
+lib/stub/stat.c
+"
+fi
+
 libc_gnu_SOURCES="
 $libc_tcc_SOURCES
 lib/ctype/isalnum.c
diff --git a/lib/stub/close.c b/lib/stub/close.c
new file mode 100644 (file)
index 0000000..a712067
--- /dev/null
@@ -0,0 +1,34 @@
+/* -*-comment-start: "//";comment-end:""-*-
+ * GNU Mes --- Maxwell Equations of Software
+ * Copyright © 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+ *
+ * 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 <http://www.gnu.org/licenses/>.
+ */
+
+#include <mes/lib.h>
+#include <errno.h>
+#include <stdio.h>
+
+int
+close (int filedes)
+{
+  static int stub = 0;
+  if (__mes_debug () && !stub)
+    eputs ("close\n");
+  stub = 1;
+  errno = 0;
+  return 0;
+}
diff --git a/lib/stub/rmdir.c b/lib/stub/rmdir.c
new file mode 100644 (file)
index 0000000..ded6df2
--- /dev/null
@@ -0,0 +1,34 @@
+/* -*-comment-start: "//";comment-end:""-*-
+ * GNU Mes --- Maxwell Equations of Software
+ * Copyright © 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+ *
+ * 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 <http://www.gnu.org/licenses/>.
+ */
+
+#include <mes/lib.h>
+#include <errno.h>
+#include <unistd.h>
+
+int
+rmdir (char const *file_name)
+{
+  static int stub = 0;
+  if (__mes_debug () && !stub)
+    eputs ("rmdir\n");
+  stub = 1;
+  errno = 0;
+  return 0;
+}
diff --git a/lib/stub/stat.c b/lib/stub/stat.c
new file mode 100644 (file)
index 0000000..85514f2
--- /dev/null
@@ -0,0 +1,35 @@
+/* -*-comment-start: "//";comment-end:""-*-
+ * GNU Mes --- Maxwell Equations of Software
+ * Copyright © 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+ *
+ * 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 <http://www.gnu.org/licenses/>.
+ */
+
+#include <mes/lib.h>
+#include <errno.h>
+#include <stdio.h>
+#include <sys/stat.h>
+
+int
+stat (char const *file_name, struct stat *statbuf)
+{
+  static int stub = 0;
+  if (__mes_debug () && !stub)
+    eputs ("stat\n");
+  stub = 1;
+  errno = 0;
+  return 0;
+}