Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'libgloss/pa/setjmp.S')
-rw-r--r--libgloss/pa/setjmp.S140
1 files changed, 0 insertions, 140 deletions
diff --git a/libgloss/pa/setjmp.S b/libgloss/pa/setjmp.S
deleted file mode 100644
index aa1008788..000000000
--- a/libgloss/pa/setjmp.S
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Copyright (c) 1990,1994 The University of Utah and
- * the Computer Systems Laboratory (CSL). All rights reserved.
- *
- * Permission to use, copy, modify and distribute this software is hereby
- * granted provided that (1) source code retains these copyright, permission,
- * and disclaimer notices, and (2) redistributions including binaries
- * reproduce the notices in supporting documentation, and (3) all advertising
- * materials mentioning features or use of this software display the following
- * acknowledgement: ``This product includes software developed by the
- * Computer Systems Laboratory at the University of Utah.''
- *
- * THE UNIVERSITY OF UTAH AND CSL ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS
- * IS" CONDITION. THE UNIVERSITY OF UTAH AND CSL DISCLAIM ANY LIABILITY OF
- * ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
- *
- * CSL requests users of this software to return to csl-dist@cs.utah.edu any
- * improvements that they make and grant CSL redistribution rights.
- *
- * Utah $Hdr: _setjmp.s 1.9 94/12/16$
- */
-
- .space $TEXT$
- .subspa $CODE$
-
-/*
- * The PA jmp_buf is 48 words arranged as follows:
- *
- * 0- 9: sigcontext
- * 10-26: callee save GRs (r3-r18) and DP (r27)
- * 27: callee save SRs (sr3)
- * 28-47: callee save FRs (fr12-fr21)
- */
-
-/*
- * int
- * setjmp(env)
- * jmp_buf env;
- *
- * This routine does not restore signal state.
- */
-
- .export setjmp,entry
- .export _setjmp,entry
- .proc
- .callinfo
-setjmp
-_setjmp
- .entry
-
- /*
- * save sp and rp in sigcontext, skip the rest
- */
- stw %r30,8(%r26)
- stw %r2,24(%r26)
- ldo 40(%r26),%r26
-
- /*
- * save dp and the callee saves registers
- */
- stwm %r3,4(%r26)
- stwm %r4,4(%r26)
- stwm %r5,4(%r26)
- stwm %r6,4(%r26)
- stwm %r7,4(%r26)
- stwm %r8,4(%r26)
- stwm %r9,4(%r26)
- stwm %r10,4(%r26)
- stwm %r11,4(%r26)
- stwm %r12,4(%r26)
- stwm %r13,4(%r26)
- stwm %r14,4(%r26)
- stwm %r15,4(%r26)
- stwm %r16,4(%r26)
- stwm %r17,4(%r26)
- stwm %r18,4(%r26)
- stwm %r27,4(%r26)
-
- mfsp %sr3,%r9
- stwm %r9,4(%r26)
-
- bv 0(%r2)
- copy %r0,%r28
- .exit
- .procend
-
-/*
- * void
- * longjmp(env, val)
- * jmp_buf env;
- * int val;
- *
- * This routine does not retore signal state.
- * This routine does not override a zero val.
- */
-
- .export longjmp,entry
- .export _longjmp,entry
- .proc
- .callinfo
-longjmp
-_longjmp
-
- .entry
-
- /*
- * restore sp and rp
- */
- ldw 8(%r26),%r30
- ldw 24(%r26),%r2
- ldo 40(%r26),%r26
-
- /*
- * restore callee saves registers
- */
- ldwm 4(%r26),%r3
- ldwm 4(%r26),%r4
- ldwm 4(%r26),%r5
- ldwm 4(%r26),%r6
- ldwm 4(%r26),%r7
- ldwm 4(%r26),%r8
- ldwm 4(%r26),%r9
- ldwm 4(%r26),%r10
- ldwm 4(%r26),%r11
- ldwm 4(%r26),%r12
- ldwm 4(%r26),%r13
- ldwm 4(%r26),%r14
- ldwm 4(%r26),%r15
- ldwm 4(%r26),%r16
- ldwm 4(%r26),%r17
- ldwm 4(%r26),%r18
- ldwm 4(%r26),%r27
-
- ldwm 4(%r26),%r9
- mtsp %r9,%sr3
-
- bv 0(%r2)
- copy %r25,%r28
- .exit
- .procend