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 'newlib/libc/sys/sysvi386/_longjmp.s')
-rw-r--r--newlib/libc/sys/sysvi386/_longjmp.s31
1 files changed, 0 insertions, 31 deletions
diff --git a/newlib/libc/sys/sysvi386/_longjmp.s b/newlib/libc/sys/sysvi386/_longjmp.s
deleted file mode 100644
index 691409b0b..000000000
--- a/newlib/libc/sys/sysvi386/_longjmp.s
+++ /dev/null
@@ -1,31 +0,0 @@
-/
-/ our buffer looks like:
-/ eax,ebx,ecx,edx,esi,edi,esp,ebp,pc
-/
-/ _longjmp is called with two parameters: jmp_buf*,int
-/ jmp_buf* is at 4(%esp), int is at 8(%esp)
-/ retaddr is, of course, at (%esp)
-
- .globl _longjmp
- .globl longjmp
-_longjmp:
-longjmp:
- movl 4(%esp), %ebx / address of buf
- movl 8(%esp), %eax / store return value
-
- movl 24(%ebx), %esp / restore stack
- movl 32(%ebx), %edi
-/ Next line sets up return address.
- movl %edi, 0(%esp)
- movl 8(%ebx), %ecx
- movl 12(%ebx), %edx
- movl 16(%ebx), %esi
- movl 20(%ebx), %edi
- movl 28(%ebx), %ebp
- movl 4(%ebx), %ebx
- testl %eax,%eax
- jne bye
- incl %eax / eax hold 0 if we are here
-bye:
- ret
-