summaryrefslogtreecommitdiff
path: root/src/user/lib/_start.s
diff options
context:
space:
mode:
authordzwdz2022-10-18 18:41:22 +0200
committerdzwdz2022-10-18 23:01:28 +0200
commit753d43d349bfde6b83cff650c9354c4a0442a3ae (patch)
tree1bb20c6f37c57bb957c9f96bc13eafc6a1f54f72 /src/user/lib/_start.s
parent6bb22b0a144646788f8c14bce1bde147693da780 (diff)
user/libc: rework exec(), use a C _start2
Diffstat (limited to 'src/user/lib/_start.s')
-rw-r--r--src/user/lib/_start.s11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/user/lib/_start.s b/src/user/lib/_start.s
new file mode 100644
index 0000000..0d5b5de
--- /dev/null
+++ b/src/user/lib/_start.s
@@ -0,0 +1,11 @@
+.section .text
+.global _start
+.type _start, @function
+.weak _start
+_start:
+ mov %rsp, %rdi
+ and $~0xF, %rsp
+ call _start2
+ hlt
+ /* the call shouldn't return, thus the hlt.
+ * using a call instead of jmp for stack alignment */