summaryrefslogtreecommitdiff
path: root/LibC/setjmp.asm
diff options
context:
space:
mode:
authorRobin Burchell <robin+git@viroteck.net>2019-05-23 10:14:19 +0200
committerAndreas Kling <awesomekling@gmail.com>2019-05-23 13:06:59 +0200
commita04a58b7ebbcb13d49639b2fd9e8ebed6da1f2f7 (patch)
treef9f95f6ae228e1388b3e79ebc8d874ef64f43f4e /LibC/setjmp.asm
parent7afc0fb9c83fd13cf48c52e26ce6fc5741d42e2b (diff)
downloadserenity-a04a58b7ebbcb13d49639b2fd9e8ebed6da1f2f7.zip
LibC: Port setjmp syntax to avoid nasm dependency
Diffstat (limited to 'LibC/setjmp.asm')
-rw-r--r--LibC/setjmp.asm33
1 files changed, 0 insertions, 33 deletions
diff --git a/LibC/setjmp.asm b/LibC/setjmp.asm
deleted file mode 100644
index 68d08ef7d9..0000000000
--- a/LibC/setjmp.asm
+++ /dev/null
@@ -1,33 +0,0 @@
-; asmsyntax=nasm
-
-global setjmp
-setjmp:
- mov eax, [esp + 4]
- mov [eax + 0 * 4], ebx
- mov [eax + 1 * 4], esi
- mov [eax + 2 * 4], edi
- mov [eax + 3 * 4], ebp
- lea ecx, [esp + 4]
- mov [eax + 4 * 4], ecx
- mov ecx, [esp]
- mov [eax + 5 * 4], ecx
- xor eax, eax
- ret
-
-global longjmp
-longjmp:
- mov edx, [esp + 4]
- mov eax, [esp + 8]
- mov ebx, [edx + 0 * 4]
- mov esi, [edx + 1 * 4]
- mov edi, [edx + 2 * 4]
- mov ebp, [edx + 3 * 4]
- mov ecx, [edx + 4 * 4]
- mov esp, ecx
- mov ecx, [edx + 5 * 4]
- test eax, eax
- jnz .nonzero
- mov eax, 1
-.nonzero:
- jmp ecx
-