diff options
author | dzwdz | 2022-07-27 13:59:52 +0200 |
---|---|---|
committer | dzwdz | 2022-07-27 13:59:52 +0200 |
commit | c77b0fa7916f79c099ee4a6a80a093334e9090ac (patch) | |
tree | 19eaedcecaa1584b83342853f1616975b50cad97 /src/user/lib/crt0.s | |
parent | 55b3a04e97b7ddd0db17a4fc3ba35461b106b92f (diff) |
user/libc: execve() supports passing argv now
Diffstat (limited to 'src/user/lib/crt0.s')
-rw-r--r-- | src/user/lib/crt0.s | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/user/lib/crt0.s b/src/user/lib/crt0.s new file mode 100644 index 0000000..dd9ab1b --- /dev/null +++ b/src/user/lib/crt0.s @@ -0,0 +1,18 @@ +.section .text +.global _start +.type _start, @function +.weak _start +_start: + mov %rsp, %rbp + and $~0xF, %rsp + call elf_selfreloc + + mov %rbp, %rsp + /* pushed by _freejmp */ + pop %rdi + pop %rsi + pop %rdx + and $~0xF, %rsp + call main + mov %rax, %rdi + jmp exit |