BSD 4 release
[unix-history] / usr / src / cmd / px / 34err.s
index 4b5cdcb..05a5ba4 100644 (file)
@@ -1,55 +1,62 @@
 #\f
 #\f
-# 34err.s
-#
-       .set    ECHR,1
-       .set    ESYSTEM,2
-       .set    EBUILTIN,3
-       .set    EHALT,4
-       .set    ENILPTR,5
-       .set    EPASTEOF,6
-       .set    ESQRT,7
-       .set    ESTKNEMP,8
-       .set    ESUBSCR,9
-       .set    EREFINAF,10
-       .set    EWRITE,11
-       .set    ENAMESIZE,12
-       .set    ELN,13
-       .set    EBADOP,14
-       .set    EBADINUM,15
-       .set    EGOTO,16
-       .set    ECASE,17
-       .set    ESEEK,18
-       .set    ECREATE,19
-       .set    EOUTOFMEM,20
-       .set    ECTTOT,21
-       .set    ESTLIM,22
-       .set    ESTKOVFLO,23
-       .set    EBADFNUM,24
-       .set    EREMOVE,25
-       .set    ECLOSE,26
-       .set    EOPEN,27
-       .set    EARGV,28
-       .set    EPACK,29
-       .set    EUNPACK,30
-       .set    ERANGE,31
-       .set    EASRT,32
-       .set    EREADIT,33
-       .set    EWRITEIT,34
-       .set    EINTR,35
-       .set    EASSIGN,36
-       .set    EFIXADD,37
-       .set    EFLTADD,38
-       .set    EFIXSUB,39
-       .set    EFLTSUB,40
-       .set    EFIXMUL,41
-       .set    EFLTMUL,42
-       .set    EFIXDIV,43
-       .set    EFLTDIV,44
-       .set    EMODDIV,45
-       .set    EFIXNEG,46
-       .set    ELLIMIT,47
-       .set    EFRAMESIZE,48
-       .set    ETRASHHEAP,49
+# Copyright (c) 1979 Regents of the University of California
+#
+# char sccsid[] = "@(#)34err.s 4.1 10/10/80";
+#
+       .set    EARGV ,1
+       .set    EASRT ,2
+       .set    EASSIGN ,3
+       .set    EBADFNUM ,4
+       .set    EBADINUM ,5
+       .set    EBADOP ,6
+       .set    EBUILTIN ,7
+       .set    ECASE ,8
+       .set    ECHR ,9
+       .set    ECLOSE,10
+       .set    ECREATE,11
+       .set    EFIXADD,13
+       .set    EFIXDIV,14
+       .set    EFIXMUL,15
+       .set    EFIXNEG,16
+       .set    EFIXSUB,17
+       .set    EFLTADD,18
+       .set    EFLTDIV,19
+       .set    EFLTMUL,20
+       .set    EFLTSUB,21
+       .set    EFMTSIZE,22
+       .set    EGOTO,23
+       .set    EHALT,24
+       .set    EINTR,25
+       .set    ELLIMIT,26
+       .set    ELN,27
+       .set    EMODDIV,28
+       .set    ENAMESIZE,29
+       .set    ENAMRNG,30
+       .set    ENILPTR,31
+       .set    ENUMNTFD,32
+       .set    EOPEN,33
+       .set    EOUTOFMEM,34
+       .set    EPACK,35
+       .set    EPASTEOF,36
+       .set    ERANGE,37
+       .set    EREADIT,38
+       .set    EREFINAF,39
+       .set    EREMOVE,40
+       .set    ESEEK,41
+       .set    ESQRT,42
+       .set    ESTKNEMP,43
+       .set    ESTKOVFLO,44
+       .set    ESTLIM,45
+       .set    ESUBSCR,46
+       .set    ESYSTEM,47
+       .set    ETRASHHEAP,48
+       .set    EUNPACK,49
+       .set    EWRITE,50
+       .set    EWRITEIT,51
+       .set    ECTLWR,12
+       .set    ECTUPR,52
+       .set    ECTSNG,53
+       .set    ENARGS,54
 #
 # Fielding interrupts and processing errors
 #
 #
 # Fielding interrupts and processing errors
 #
@@ -87,6 +94,16 @@ _memsize:
        calls   $1,_error
        ret
 #
        calls   $1,_error
        ret
 #
+# Die gracefully on unexpected signals
+#
+       .align  1
+       .globl  _syserr
+_syserr:
+       .word   0
+       pushl   $ESYSTEM
+       calls   $1,_error
+       ret
+#
 # Process computational errors
 #
        .align  1
 # Process computational errors
 #
        .align  1
@@ -96,7 +113,7 @@ _except:
        pushal  _except         #reset signal
        pushl   $SIGFPE
        calls   $2,_signal
        pushal  _except         #reset signal
        pushl   $SIGFPE
        calls   $2,_signal
-       movl    PC(fp),r0       #r0 has PC at point following error
+       movl    16(ap),r0       #r0 has PC at point following error
        moval   errtbl-4,r1     #r1 points to error offset table
 l3404:
        addl2   $4,r1           #determine cause of error
        moval   errtbl-4,r1     #r1 points to error offset table
 l3404:
        addl2   $4,r1           #determine cause of error
@@ -117,21 +134,17 @@ l3406:
        .align  1
 errtbl:
        .long   _AS2, _OFF, EASSIGN
        .align  1
 errtbl:
        .long   _AS2, _OFF, EASSIGN
-       .long   _INX2, _NIL, ESUBSCR
        .long   _ADD2, _ADD28, EFIXADD
        .long   _ADD28, _SUB2, EFLTADD
        .long   _SUB2, _SUB28, EFIXSUB
        .long   _ADD2, _ADD28, EFIXADD
        .long   _ADD28, _SUB2, EFLTADD
        .long   _SUB2, _SUB28, EFIXSUB
-       .long   _SUB28, _SQR2, EFLTSUB
-       .long   _SQR2, _MUL28, EFIXMUL
+       .long   _SUB28, _MUL2, EFLTSUB
+       .long   _MUL2, _MUL28, EFIXMUL
        .long   _MUL28, _DIV2, EFLTMUL
        .long   _DIV2, _MOD2, EFIXDIV
        .long   _MOD2, _ABS2, EMODDIV
        .long   _ABS2, _ABS8, EFIXNEG
        .long   _DVD2, _IND1, EFLTDIV
        .long   _MUL28, _DIV2, EFLTMUL
        .long   _DIV2, _MOD2, EFIXDIV
        .long   _MOD2, _ABS2, EMODDIV
        .long   _ABS2, _ABS8, EFIXNEG
        .long   _DVD2, _IND1, EFLTDIV
-       .long   _RANG2, _CASE1OP, ERANGE
        .long   _STOI, _UNDEF, EBUILTIN
        .long   _STOI, _UNDEF, EBUILTIN
-       .long   _PACK, _UNPACK, EPACK
-       .long   _UNPACK, _GET, EUNPACK
        .long   0xffffffff
 #
 # recover values of dp and lino from the stack
        .long   0xffffffff
 #
 # recover values of dp and lino from the stack