mescc: Tinycc support: unlink.
authorJan Nieuwenhuizen <janneke@gnu.org>
Mon, 24 Jul 2017 15:09:33 +0000 (17:09 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Wed, 26 Jul 2017 09:36:45 +0000 (11:36 +0200)
* mlibc/include/unistd.h (unlink): Declare.
* stage0/x86.M1 (SYS_unlink): New define.
* mlibc/libc-mes+tcc.c (unlink): New function.

mlibc/include/unistd.h
mlibc/libc-mes+tcc.c
stage0/x86.M1

index 37d21fc3dae5fd35c49d0ddca1871ebe298699f1..a6b3ae3f87f6c27c33fc19c9ec8f5219bade1eb2 100644 (file)
@@ -43,6 +43,7 @@ int access (char const *s, int mode);
 int close (int fd);
 char *getcwd (char *buf, size_t size);
 int read (int fd, void* buf, size_t n);
+int unlink (char const *file_name);
 int write (int fd, char const* s, int n);
 #endif // ! (__GNUC__ && POSIX)
 
index 9032ca0624bbf4bf6f0447a0df33ed9d4b717a37..cb889a6f03b3f8c1c00c520ced7a4e2698578a8f 100644 (file)
@@ -43,6 +43,18 @@ getcwd (char *buf, size_t size)
   asm ("int____$0x80");
 }
 
+int
+unlink (char const *file_name)
+{
+  asm ("mov____0x8(%ebp),%ebx !8");
+
+  asm ("mov____$i32,%eax SYS_unlink");
+  asm ("int____$0x80");
+}
+
+
+
+
 int
 fprintf (FILE *stream, char const *format, ...)
 {
index 6c12f8662ec0bf2e12bb50f003cd97a2c8d4c41b..5db4febb970d83dc37af2b38e969e1472c746f14 100644 (file)
@@ -163,6 +163,7 @@ DEFINE SYS_read   03000000
 DEFINE SYS_write  04000000
 DEFINE SYS_open   05000000
 DEFINE SYS_close  06000000
+DEFINE SYS_unlink 0a000000
 DEFINE SYS_access 21000000
 DEFINE SYS_brk    2d000000
 DEFINE SYS_fsync  76000000