33 lines
428 B
ArmAsm
33 lines
428 B
ArmAsm
#define NPRIVATES 16
|
|
|
|
.text
|
|
|
|
// %rdi and %rsi are set up as argc, argv for main.
|
|
// %rdx points to top of stack
|
|
.globl _main
|
|
_main:
|
|
|
|
movq 0(%rsp), %rdi
|
|
leaq 8(%rsp), %rsi
|
|
movq %rdx, _tos
|
|
movq $-128, _privates
|
|
addq %rsp, _privates
|
|
movl $NPRIVATES, _nprivates
|
|
leaq -160(%rsp), %rsp
|
|
call main
|
|
|
|
loop:
|
|
movq $_exits, %rdi
|
|
call exits
|
|
jmp loop
|
|
|
|
.data
|
|
_exits:
|
|
.ascii "main"
|
|
|
|
|
|
.globl gettls0
|
|
gettls0:
|
|
movq %fs:0, %rax
|
|
ret
|