2026-02-19 19:28:50 +00:00
|
|
|
.code64
|
|
|
|
|
|
|
|
|
|
.global _start
|
|
|
|
|
.type _start, @function
|
|
|
|
|
|
2026-03-22 19:11:43 +00:00
|
|
|
.extern __libc_init
|
|
|
|
|
.type __libc_init, @function
|
2026-02-19 19:28:50 +00:00
|
|
|
|
2026-03-21 10:44:21 +00:00
|
|
|
.extern task_exit
|
|
|
|
|
.type task_exit, @function
|
|
|
|
|
|
2026-02-19 19:28:50 +00:00
|
|
|
_start:
|
2026-03-22 19:11:43 +00:00
|
|
|
# %rdi: (struct rosetta_bootstrap *)bs_info
|
|
|
|
|
mov %rdi, %rbx
|
|
|
|
|
call __libc_init
|
|
|
|
|
|
|
|
|
|
mov 0(%rbx), %rdi # argc
|
|
|
|
|
mov 8(%rbx), %rsi # argv
|
|
|
|
|
mov 24(%rbx), %rdx # envp
|
2026-02-19 19:28:50 +00:00
|
|
|
call main
|
2026-03-21 10:44:21 +00:00
|
|
|
|
|
|
|
|
mov %rax, %rdi
|
|
|
|
|
call task_exit
|
2026-02-19 19:28:50 +00:00
|
|
|
1: jmp 1b
|