Thread: [Wisp-cvs] wisp/src/native death.s,NONE,1.1 death.wth,NONE,1.1 sys.s,NONE,1.1 sys.wth,NONE,1.1 .cvsi
Status: Alpha
Brought to you by:
digg
Update of /cvsroot/wisp/wisp/src/native In directory usw-pr-cvs1:/tmp/cvs-serv28473/src/native Modified Files: .cvsignore Makefile.am boxes.s cons.s sys_raw.nasm Added Files: death.s death.wth sys.s sys.wth Removed Files: sys.nasm Log Message: Converted sys.nasm to sys.wth and death.c to death.wth . --- NEW FILE: death.s --- .section .text .align 16 die: .byte 88,232 .long strlen - (.+4) .byte 186,13,0,0,0,185 .long _G0_ .byte 187,1,0,0,0,137,199,184,4,0,0,0,205,128,88,137,250,137,193,187,1,0 .byte 0,0,184,4,0,0,0,205,128,186,1,0,0,0,185 .long _G1_ .byte 187,1,0,0,0,184,4,0,0,0,205,128,187,1,0,0,0,184,1,0,0,0,205,128 .global die .section .text .align 16 _G1_: .byte 10 .global _G1_ .section .text .align 16 _G0_: .byte 119,105,115,112,32,101,110,103,105,110,101,58,32 .global _G0_ --- NEW FILE: death.wth --- ;;;; death.wth - fatal error reporting ;; ;; Copyleft © 2002 by Andres Soolo (di...@us...) ;; This file is licensed under the GNU GPL v2. If you ;; don't know what that means, please do read the GPL. ;; ;;;; @(#) $Id: death.wth,v 1.1 2002/09/04 14:26:57 digg Exp $ (include linux) (extern strlen) (defun die ; one argument: a null-terminated string drop ; we aren't going to return (flush) strlen (believe %eax) 1 "wisp engine: " sys.write drop 1 -rot sys.write drop 1 "\n" sys.write drop 1 sys.exit) ; vim: ft=worth --- NEW FILE: sys.s --- .section .text .align 16 N_sys_ns_kill: .byte 144,81,131,249,2,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,88,91,80,104 .long N_sys_ns_kill.L1 .byte 83,233 .long decsi$1 - (.+4) .byte 91,80,104 .long N_sys_ns_kill.L2 .byte 83,233 .long decui$1 - (.+4) .byte 137,193,88,137,195,184,37,0,0,0,205,128,80,233 .long encsi$1 - (.+4) .global N_sys_ns_kill,NN_sys_ns_kill,N_sys_ns_kill.L1,N_sys_ns_kill.L2 .equiv NN_sys_ns_kill, N_sys_ns_kill + 1 .equiv N_sys_ns_kill.L1, N_sys_ns_kill + 34 .equiv N_sys_ns_kill.L2, N_sys_ns_kill + 47 .section .text .align 16 N_sys_ns_listen: .byte 144,81,131,249,2,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,88,91,80,104 .long N_sys_ns_listen.L1 .byte 83,233 .long decui$1 - (.+4) .byte 91,80,104 .long N_sys_ns_listen.L2 .byte 83,233 .long decui$1 - (.+4) .byte 91,80,83,187,4,0,0,0,137,225,184,102,0,0,0,205,128,91,91,80,233 .long encsi$1 - (.+4) .global N_sys_ns_listen,NN_sys_ns_listen,N_sys_ns_listen.L1,N_sys_ns_listen.L2 .equiv NN_sys_ns_listen, N_sys_ns_listen + 1 .equiv N_sys_ns_listen.L1, N_sys_ns_listen + 34 .equiv N_sys_ns_listen.L2, N_sys_ns_listen + 47 .section .text .align 16 N_sys_ns_dup2: .byte 144,81,131,249,2,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,88,91,80,104 .long N_sys_ns_dup2.L1 .byte 83,233 .long decui$1 - (.+4) .byte 91,80,104 .long N_sys_ns_dup2.L2 .byte 83,233 .long decui$1 - (.+4) .byte 137,193,88,137,195,184,63,0,0,0,205,128,80,233 .long encsi$1 - (.+4) .global N_sys_ns_dup2,NN_sys_ns_dup2,N_sys_ns_dup2.L1,N_sys_ns_dup2.L2 .equiv NN_sys_ns_dup2, N_sys_ns_dup2 + 1 .equiv N_sys_ns_dup2.L1, N_sys_ns_dup2 + 34 .equiv N_sys_ns_dup2.L2, N_sys_ns_dup2 + 47 .section .text .align 16 N_sys_ns_setpgid: .byte 144,81,131,249,2,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,88,91,80,104 .long N_sys_ns_setpgid.L1 .byte 83,233 .long decsi$1 - (.+4) .byte 91,80,104 .long N_sys_ns_setpgid.L2 .byte 83,233 .long decsi$1 - (.+4) .byte 137,193,88,137,195,184,57,0,0,0,205,128,80,233 .long encsi$1 - (.+4) .global N_sys_ns_setpgid,NN_sys_ns_setpgid,N_sys_ns_setpgid.L1,N_sys_ns_setpgid.L2 .equiv NN_sys_ns_setpgid, N_sys_ns_setpgid + 1 .equiv N_sys_ns_setpgid.L1, N_sys_ns_setpgid + 34 .equiv N_sys_ns_setpgid.L2, N_sys_ns_setpgid + 47 .section .text .align 16 N_sys_ns_getpgid: .byte 144,81,131,249,1,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,88,104 .long N_sys_ns_getpgid.L1 .byte 80,233 .long decsi$1 - (.+4) .byte 137,195,184,132,0,0,0,205,128,80,233 .long encsi$1 - (.+4) .global N_sys_ns_getpgid,NN_sys_ns_getpgid,N_sys_ns_getpgid.L1 .equiv NN_sys_ns_getpgid, N_sys_ns_getpgid + 1 .equiv N_sys_ns_getpgid.L1, N_sys_ns_getpgid + 32 .section .text .align 16 N_sys_ns_dup: .byte 144,81,131,249,1,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,88,104 .long N_sys_ns_dup.L1 .byte 80,233 .long decui$1 - (.+4) .byte 137,195,184,41,0,0,0,205,128,80,233 .long encsi$1 - (.+4) .global N_sys_ns_dup,NN_sys_ns_dup,N_sys_ns_dup.L1 .equiv NN_sys_ns_dup, N_sys_ns_dup + 1 .equiv N_sys_ns_dup.L1, N_sys_ns_dup + 32 .section .text .align 16 N_sys_ns_close: .byte 144,81,131,249,1,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,88,104 .long N_sys_ns_close.L1 .byte 80,233 .long decui$1 - (.+4) .byte 137,195,184,6,0,0,0,205,128,80,233 .long encsi$1 - (.+4) .global N_sys_ns_close,NN_sys_ns_close,N_sys_ns_close.L1 .equiv NN_sys_ns_close, N_sys_ns_close + 1 .equiv N_sys_ns_close.L1, N_sys_ns_close + 32 .section .text .align 16 N_sys_ns_fork: .byte 144,81,133,201,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,184,2,0,0,0,205,128,80,233 .long encsi$1 - (.+4) .global N_sys_ns_fork,NN_sys_ns_fork .equiv NN_sys_ns_fork, N_sys_ns_fork + 1 .section .text .align 16 N_sys_ns_setsid: .byte 144,81,133,201,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,184,66,0,0,0,205,128,80,233 .long encsi$1 - (.+4) .global N_sys_ns_setsid,NN_sys_ns_setsid .equiv NN_sys_ns_setsid, N_sys_ns_setsid + 1 .section .text .align 16 N_sys_exit: .byte 144,81,133,201,15,133,5,0,0,0,88,64,106,7,80,88,80,61,1,0,0,0,15 .byte 132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,88,80,104 .long N_sys_exit.L2 .byte 80,233 .long decui$1 - (.+4) .byte 80,61,0,1,0,0,15,140,13,0,0,0,88,88,104 .long WB_range .byte 80,233 .long raise$2 - (.+4) .byte 88,137,195,184,1,0,0,0,205,128 .global N_sys_exit,NN_sys_exit,N_sys_exit.L2 .equiv NN_sys_exit, N_sys_exit + 1 .equiv N_sys_exit.L2, N_sys_exit + 50 .section .text .align 16 N_sys_getegid: .byte 144,81,133,201,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,184,50,0,0,0,205,128,80,233 .long encui$1 - (.+4) .global N_sys_getegid,NN_sys_getegid .equiv NN_sys_getegid, N_sys_getegid + 1 .section .text .align 16 N_sys_getgid: .byte 144,81,133,201,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,184,47,0,0,0,205,128,80,233 .long encui$1 - (.+4) .global N_sys_getgid,NN_sys_getgid .equiv NN_sys_getgid, N_sys_getgid + 1 .section .text .align 16 N_sys_geteuid: .byte 144,81,133,201,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,184,49,0,0,0,205,128,80,233 .long encui$1 - (.+4) .global N_sys_geteuid,NN_sys_geteuid .equiv NN_sys_geteuid, N_sys_geteuid + 1 .section .text .align 16 N_sys_getuid: .byte 144,81,133,201,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,184,24,0,0,0,205,128,80,233 .long encui$1 - (.+4) .global N_sys_getuid,NN_sys_getuid .equiv NN_sys_getuid, N_sys_getuid + 1 .section .text .align 16 N_sys_getppid: .byte 144,81,133,201,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,184,64,0,0,0,205,128,80,233 .long encui$1 - (.+4) .global N_sys_getppid,NN_sys_getppid .equiv NN_sys_getppid, N_sys_getppid + 1 .section .text .align 16 N_sys_getpid: .byte 144,81,133,201,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,184,20,0,0,0,205,128,80,233 .long encui$1 - (.+4) .global N_sys_getpid,NN_sys_getpid .equiv NN_sys_getpid, N_sys_getpid + 1 .section .text .align 16 N_unix_time: .byte 144,81,133,201,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) .byte 88,187,0,0,0,0,184,13,0,0,0,205,128,80,233 .long encsi$1 - (.+4) .global N_unix_time,NN_unix_time .equiv NN_unix_time, N_unix_time + 1 --- NEW FILE: sys.wth --- ;;;; sys.wth - the syscall wrappers ;; ;; Copyleft © 2002 by Andres Soolo (di...@us...) ;; This file is licensed under the GNU GPL v2. If you ;; don't know what that means, please do read the GPL. ;; ;;;; @(#) $Id: sys.wth,v 1.1 2002/09/04 14:26:57 digg Exp $ (include linux) (include wisptyp) (extern WB_range) (extern decsi$1) (extern decui$1) (extern encsi$1) (extern encui$1) (macro decsi <: swap (flush) 'decsi$1 jump :>) (macro decui <: swap (flush) 'decui$1 jump :>) (native unix_time dup 0 = argc drop sys.time (flush) 'encsi$1 jump) (native sys_getpid dup 0 = argc drop sys.getpid (flush) 'encui$1 jump) (native sys_getppid dup 0 = argc drop sys.getppid (flush) 'encui$1 jump) (native sys_getuid dup 0 = argc drop sys.getuid (flush) 'encui$1 jump) (native sys_geteuid dup 0 = argc drop sys.geteuid (flush) 'encui$1 jump) (native sys_getgid dup 0 = argc drop sys.getgid (flush) 'encui$1 jump) (native sys_getegid dup 0 = argc drop sys.getegid (flush) 'encui$1 jump) (native sys_exit dup 0 = if ZERO swap 1+ then dup 1 = argc drop dup decui dup 256 >= if drop 'WB_range swap go-raise then sys.exit) ;; The sys:ns:foo functions differ from sys:foo only in ;; that they do not themselves raise signals on error. ;; They return negative values instead. (native sys_ns_setsid dup 0 = argc drop sys.setsid (flush) 'encsi$1 jump) (native sys_ns_fork dup 0 = argc drop sys.fork (flush) 'encsi$1 jump) (native sys_ns_close dup 1 = argc drop decui sys.close (flush) 'encsi$1 jump) (native sys_ns_dup dup 1 = argc drop decui sys.dup (flush) 'encsi$1 jump) (native sys_ns_getpgid dup 1 = argc drop decsi sys.getpgid (flush) 'encsi$1 jump) (native sys_ns_setpgid dup 2 = argc drop swap decsi swap decsi sys.setpgid (flush) 'encsi$1 jump) (native sys_ns_dup2 dup 2 = argc drop swap decui swap decui sys.dup2 (flush) 'encsi$1 jump) (native sys_ns_listen dup 2 = argc drop swap decui swap decui sys.listen (flush) 'encsi$1 jump) (native sys_ns_kill dup 2 = argc drop swap decsi swap decui sys.kill (flush) 'encsi$1 jump) ; vim: ft=worth Index: .cvsignore =================================================================== RCS file: /cvsroot/wisp/wisp/src/native/.cvsignore,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- .cvsignore 22 Jul 2002 14:37:08 -0000 1.5 +++ .cvsignore 4 Sep 2002 14:26:56 -0000 1.6 @@ -1,5 +1,6 @@ *.o *.prn +*.was .*.swp .deps Makefile Index: Makefile.am =================================================================== RCS file: /cvsroot/wisp/wisp/src/native/Makefile.am,v retrieving revision 1.150 retrieving revision 1.151 diff -u -d -r1.150 -r1.151 --- Makefile.am 26 Aug 2002 15:59:43 -0000 1.150 +++ Makefile.am 4 Sep 2002 14:26:57 -0000 1.151 @@ -14,17 +14,17 @@ base.inc linux_syscall.inc sysconst.inc \ apply.nasm bitstr_ref.nasm chars.nasm cxr.nasm integers.nasm \ list.nasm memset.nasm records.nasm ref.nasm resignal.nasm \ - signal.nasm strings.nasm sys.nasm sys_raw.nasm types.nasm \ - valloc.nasm vectors.nasm wrap.nasm \ - boxes.wth cons.wth \ - boxes.s cons.s + signal.nasm strings.nasm sys_raw.nasm types.nasm valloc.nasm \ + vectors.nasm wrap.nasm \ + boxes.wth cons.wth death.wth sys.wth \ + boxes.s cons.s death.s sys.s EXTRA_DIST = .cvsignore noinst_LIBRARIES = libnative.a libnative_a_LIBADD = native_call.o branches.o \ - apply.o bitstr_ref.o chars.o cons.o cxr.o integers.o list.o \ + apply.o bitstr_ref.o chars.o cxr.o integers.o list.o \ memset.o records.o ref.o resignal.o signal.o strings.o sys.o \ sys_raw.o types.o valloc.o vectors.o wrap.o Index: boxes.s =================================================================== RCS file: /cvsroot/wisp/wisp/src/native/boxes.s,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- boxes.s 4 Sep 2002 14:25:41 -0000 1.5 +++ boxes.s 4 Sep 2002 14:26:57 -0000 1.6 @@ -12,10 +12,7 @@ .byte 61,35,0,0,0,15,133,7,0,0,0,106,11,233,2,0,0,0,106,19,88,195 .global N_box_empty_huh,NN_box_empty_huh,N_box_empty_huh.L1 .equiv NN_box_empty_huh, N_box_empty_huh + 1 -.equiv .L0, N_box_empty_huh + 19 .equiv N_box_empty_huh.L1, N_box_empty_huh + 47 -.equiv .L2, N_box_empty_huh + 65 -.equiv .L3, N_box_empty_huh + 67 .section .text .align 16 N_box_empty: @@ -25,7 +22,6 @@ .long N_box_ref - (.+4) .global N_box_empty,NN_box_empty .equiv NN_box_empty, N_box_empty + 1 -.equiv .L0, N_box_empty + 19 .section .text .align 16 N_box_ref: @@ -37,7 +33,6 @@ .long slot_accessor_body - (.+4) .global N_box_ref,NN_box_ref .equiv NN_box_ref, N_box_ref + 1 -.equiv .L0, N_box_ref + 21 .section .text .align 16 box_ref.final: @@ -47,7 +42,6 @@ .long raise$2 - (.+4) .byte 88,91,195 .global box_ref.final -.equiv .L0, box_ref.final + 25 .section .text .align 16 N_make_box: @@ -57,4 +51,3 @@ .long record_constructor_body - (.+4) .global N_make_box,NN_make_box .equiv NN_make_box, N_make_box + 1 -.equiv .L0, N_make_box + 15 Index: cons.s =================================================================== RCS file: /cvsroot/wisp/wisp/src/native/cons.s,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- cons.s 4 Sep 2002 14:25:41 -0000 1.3 +++ cons.s 4 Sep 2002 14:26:57 -0000 1.4 @@ -3,12 +3,10 @@ N_cons_huh: .byte 144,81,131,249,1,15,132,8,0,0,0,88,137,193,233 .long N_signal_argcount - (.+4) -.byte 88,88,53,2,0,0,0,37,7,0,0,0,133,192,15,133,7,0,0,0,106,11,233,2,0,0,0,106,19,88,195 +.byte 88,88,53,2,0,0,0,37,7,0,0,0,133,192,15,133,7,0,0,0,106,11,233,2,0 +.byte 0,0,106,19,88,195 .global N_cons_huh,NN_cons_huh .equiv NN_cons_huh, N_cons_huh + 1 -.equiv .L0, N_cons_huh + 19 -.equiv .L1, N_cons_huh + 46 -.equiv .L2, N_cons_huh + 48 .section .text .align 16 N_cons: @@ -19,5 +17,4 @@ .byte 91,91,137,193,131,193,4,137,25,91,137,24,13,2,0,0,0,195 .global N_cons,NN_cons,cons$2 .equiv NN_cons, N_cons + 1 -.equiv .L0, N_cons + 19 .equiv cons$2, N_cons + 20 Index: sys_raw.nasm =================================================================== RCS file: /cvsroot/wisp/wisp/src/native/sys_raw.nasm,v retrieving revision 1.42 retrieving revision 1.43 diff -u -d -r1.42 -r1.43 --- sys_raw.nasm 8 Aug 2002 16:46:39 -0000 1.42 +++ sys_raw.nasm 4 Sep 2002 14:26:57 -0000 1.43 @@ -18,18 +18,10 @@ native_syscall chdir, 1 native_syscall chmod, 2 native_syscall close, 1 -native_syscall dup, 1 -native_syscall dup2, 2 native_syscall execve, 3 -native_syscall exit, 1 native_syscall fcntl, 3 native_syscall ftruncate, 2 native_syscall getcwd, 2 -native_syscall getegid, 0 -native_syscall geteuid, 0 -native_syscall getgid, 0 -native_syscall getpgid, 1 -native_syscall getuid, 0 native_syscall ioctl, 3 native_syscall kill, 2 native_syscall link, 2 @@ -39,7 +31,6 @@ native_syscall pipe, 1, untag ebx ; so that a cons can be used native_syscall read, 3 native_syscall rename, 2 -native_syscall setpgid, 2 native_syscall symlink, 2 native_syscall truncate, 2 native_syscall unlink, 1 @@ -48,4 +39,3 @@ native_syscall nanosleep, 2, {untag ebx, ecx} native_socketcall accept, 3 -native_socketcall listen, 2 --- sys.nasm DELETED --- |