summaryrefslogtreecommitdiff
path: root/newlib/libc/sys/sysvi386/_longjmp.s
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-01-03 17:39:24 -0700
committerPikalaxALT <pikalaxalt@gmail.com>2018-01-03 17:39:24 -0700
commita6c1ed4716cf02626ea035beb6dd4a921642ba80 (patch)
treeef582c1b52819e27bdd16097ec03b69799d04ede /newlib/libc/sys/sysvi386/_longjmp.s
parentf6c9a624fa8a6878a7fb2b02f55e4990a20feb59 (diff)
Use libc from agbcc instead of standalone newlib\nYou must have AGBCC commit 80d029caec189587f8b9294b6c8a5a489b8f5f88 in order to compile pmd_red.gbalibc
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 691409b..0000000
--- 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
-