diff options
author | dzwdz | 2023-08-14 18:51:07 +0200 |
---|---|---|
committer | dzwdz | 2023-08-14 18:51:07 +0200 |
commit | 642b5fb0007b64c77d186fcb018d571152ee1d47 (patch) | |
tree | 1c466461f3602d306be309a053edae558ef2568e /src/libc/_start.s | |
parent | 8050069c57b729c18c19b1a03ab6e4bf63b4735e (diff) |
reorganization: first steps
Diffstat (limited to 'src/libc/_start.s')
-rw-r--r-- | src/libc/_start.s | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/libc/_start.s b/src/libc/_start.s new file mode 100644 index 0000000..12d2c5f --- /dev/null +++ b/src/libc/_start.s @@ -0,0 +1,17 @@ +.section .text +.global _start +.type _start, @function +.weak _start +_start: + mov %rsp, %rdi + and $~0xF, %rsp + + /* prevent floating point crashes. thanks heat */ + push $0x1f80 + ldmxcsr (%rsp) + add $8, %rsp + + call _start2 + hlt + /* the call shouldn't return, thus the hlt. + * using a call instead of jmp for stack alignment */ |