Przeglądaj źródła

Changed stat() interface

ceriel 33 lat temu
rodzic
commit
df3dfee373

+ 2 - 2
mach/sun3/libsys/LIST

@@ -36,9 +36,8 @@ fcntl.s
 flock.s
 fork.s
 _fork.s
-Xstat.c
-_Xstat.c
 fstat.s
+_fstat.s
 fstatfs.s
 fsync.s
 ftime.c
@@ -192,3 +191,4 @@ uname.c
 vadvise.s
 vfork.s
 wait3.s
+__statcvt.s

+ 27 - 0
mach/sun3/libsys/__statcvt.s

@@ -0,0 +1,27 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
+.define ___statcvt
+___statcvt:
+move.l (4,sp),a0
+lea (60,a0),a0
+lea (4,a0),a1
+move.l -(a0),-(a1)
+move.l -(a0),-(a1)
+move.l -(a0),-(a1)
+move.l -(a0),-(a1)
+move.l -(a0),-(a1)
+move.l -(a0),-(a1)
+move.l -(a0),-(a1)
+move.l -(a0),-(a1)
+move.l -(a0),-(a1)
+move.l -(a0),-(a1)
+move.l -(a0),-(a1)
+move.w -(a0),-(a1)
+clr.w -(a1)
+move.l -(a0),-(a1)
+move.l -(a0),-(a1)
+move.l -(a0),-(a1)
+move.w -(a0),-(a1)
+clr.w -(a1)
+move.w -(a0),-(a1)
+clr.l d0
+rts

+ 7 - 0
mach/sun3/libsys/_fstat.s

@@ -0,0 +1,7 @@
+#include "syscall.h"
+.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
+.define __fstat
+__fstat: pea (SYS_fstat); trap #0; bcc 1f; jmp (cerror)
+1:
+	move.l	(sp)+,(sp)
+	jmp	(___statcvt)

+ 2 - 2
mach/sun3/libsys/fstat.s

@@ -1,4 +1,4 @@
 #include "syscall.h"
 .sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
-.define ___fstat
-___fstat: SYSTEM(SYS_fstat)
+.define _fstat
+_fstat: jmp (__fstat)

+ 5 - 2
mach/sun3/libsys/lstat.s

@@ -1,4 +1,7 @@
 #include "syscall.h"
 .sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
-.define __lstat
-__lstat: SYSTEM(SYS_lstat)
+.define _lstat
+_lstat: pea (SYS_lstat); trap #0; bcc 1f; jmp (cerror)
+1:
+	move.l	(sp)+,(sp)
+	jmp	(___statcvt)

+ 5 - 2
mach/sun3/libsys/stat.s

@@ -1,4 +1,7 @@
 #include "syscall.h"
 .sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
-.define __stat
-__stat: SYSTEM(SYS_stat)
+.define _stat
+_stat: pea (SYS_stat); trap #0; bcc 1f; jmp (cerror)
+1:
+	move.l	(sp)+,(sp)
+	jmp	(___statcvt)