summaryrefslogtreecommitdiff
path: root/src/__sys.x86-32.s
diff options
context:
space:
mode:
authorJakob Kaivo <jkk@ung.org>2020-08-15 09:03:26 -0400
committerJakob Kaivo <jkk@ung.org>2020-08-15 09:03:26 -0400
commitcdcd1977d7b8d8f92a950777462e3d02af90a6bc (patch)
tree8befb214e2570d7914cf7ab54097877708e39765 /src/__sys.x86-32.s
parent014a49e4aee821ca3490f318ce6d875942f4018f (diff)
implement as syscall
Diffstat (limited to 'src/__sys.x86-32.s')
-rw-r--r--src/__sys.x86-32.s18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/__sys.x86-32.s b/src/__sys.x86-32.s
new file mode 100644
index 00000000..ad60201d
--- /dev/null
+++ b/src/__sys.x86-32.s
@@ -0,0 +1,18 @@
+.global __syscall
+__syscall:
+ mov 4(%esp), %eax
+ mov 8(%esp), %ebx
+ mov 12(%esp), %ecx
+ mov 16(%esp), %edx
+ mov 20(%esp), %esi
+ mov 24(%esp), %edi
+ mov 28(%esp), %ebp
+ sysenter
+ ret
+
+/* FIXME: this seems to be unpossible to put in a shared library */
+/* FIXME: it may be worthwhile to separate this into crt1.s */
+.global _start
+_start:
+ /* TODO */
+ call __libc_start