@@ -2,44 +2,63 @@ libmon_s.a
exit.c
cleanup.c
gtty.c
+_gtty.c
stty.c
_exit.s
access.s
acct.s
alarm.s
+_alarm.s
chdir.s
chmod.s
chown.s
chroot.s
close.s
+_close.s
creat.s
dup.s
+_dup.s
errmon.s
+_execl.s
execl.s
execle.s
execv.s
execve.s
+_execve.s
fork.s
+_fork.s
fstat.s
+_fstat.s
ftime.s
+_ftime.s
getgid.s
getpid.s
+_getpid.s
getuid.s
ioctl.s
+_ioctl.s
kill.s
+_kill.s
link.s
+_link.s
lseek.s
+_lseek.s
mknod.s
mount.s
mpx.s
nice.s
open.s
+_open.s
pause.s
+_pause.s
pipe.s
+_pipe.s
profil.s
ptrace.s
+_read.s
read.s
sbrk.s
+_sbrk.s
setgid.s
setuid.s
signal.s
@@ -52,6 +71,7 @@ times.s
umask.s
umount.s
unlink.s
+_unlink.s
utime.s
vadvise.s
vfork.s
@@ -62,4 +82,6 @@ vtimes.s
vwait.s
vwrite.s
wait.s
+_wait.s
write.s
+_write.s
@@ -0,0 +1,10 @@
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.sect .text
+.define __alarm
+alarm = 27
+
+.align 1
+__alarm:
+ .data2 0x0000
+ chmk $alarm
+ ret
@@ -0,0 +1,14 @@
+.define __close
+close = 6
+__close:
+ chmk $close
+ bcc 1f
+ jmp errmon
+1:
+ clrl r0
@@ -0,0 +1,21 @@
+.define __dup
+.define __dup2
+dup = 41
+__dup:
+ brb 1f
+__dup2:
+ bisb2 $0100,4(ap)
+ chmk $dup
@@ -0,0 +1,13 @@
+.define __execl
+.define _environ
+__execl:
+ pushl _environ
+ pushab 8(ap)
+ pushl 4(ap)
+ calls $3,__execve
+.define __execve
+exec = 59
+__execve:
+ chmk $exec
@@ -0,0 +1,16 @@
+.define __fork
+fork = 2
+__fork:
+ chmk $fork
+ jlbc r1,1f
+.define __fstat
+fstat = 28
+__fstat:
+ chmk $fstat
+.define __ftime
+ftime = 35
+__ftime:
+ chmk $ftime
@@ -0,0 +1,18 @@
+.define __getpid
+.define __getppid
+getpid = 20
+__getpid:
+ chmk $getpid
+__getppid:
+ movl r1,r0
@@ -0,0 +1,8 @@
+#include <sgtty.h>
+int
+_gtty(fildes,argp)
+ int fildes ;
+ struct sgttyb *argp ;
+{
+ return ioctl(fildes,TIOCGETP,argp) ;
+}
+.define __ioctl
+ioctl = 54
+__ioctl:
+ chmk $ioctl
+.define __kill
+kill = 37
+__kill:
+ chmk $kill
+.define __link
+link = 9
+__link:
+ chmk $link
+.define __lseek
+lseek = 19
+__lseek:
+ chmk $lseek
+.define __open
+open = 5
+__open:
+ chmk $open
+.define __pause
+pause = 29
+__pause:
+ chmk $pause
@@ -0,0 +1,17 @@
+.define __pipe
+pipe = 42
+__pipe:
+ chmk $pipe
+ movl 4(ap),r2
+ movl r0,(r2)+
+ movl r1,(r2)
+.define __read
+read = 3
+__read:
+ chmk $read
@@ -0,0 +1,34 @@
+break = 17
+.define __sbrk
+.define __brk
+__sbrk:
+ addl3 Ibrk,4(ap),-(sp)
+ movl $0xFFFFFFFF,(sp) ! will cause an error (I hope)
+ movl Ibrk,r3
+ calls $1,_brk
+ tstl r0
+ blss 1f
+ movl r3,r0
+__brk:
+ chmk $break
+ movl 4(ap),Ibrk
+.sect .data
+Ibrk: .data4 endbss
+.define __unlink
+unlink = 10
+__unlink:
+ chmk $unlink
+wait = 7
+.define __wait
+__wait:
+ chmk $wait
+ tstl 4(ap)
+ beql 1f
+ movl r1,*4(ap)
+.define __write
+write = 4
+__write:
+ chmk $write
@@ -1,5 +1,6 @@
#include <sgtty.h>
-int gtty(fildes,argp)
+gtty(fildes,argp)
int fildes ;
struct sgttyb *argp ;
{
@@ -3,7 +3,6 @@
break = 17
.define _sbrk
.define _brk
-.define _end
.align 1
_sbrk:
@@ -32,4 +31,4 @@ _brk:
ret
.sect .data
-Ibrk: .data4 _end