X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fthread%2Fx86_64%2F__unmapself.s;h=99c1b7c168efde0dfae9745f31805ef95ab3028a;hb=98acf04fc00cbded6169056f2cd541d31725c091;hp=59092eaa53fefd472735c3a5c023a3f0ad56787d;hpb=1e12632591ab98a6ea3af8680716c28282552981;p=musl diff --git a/src/thread/x86_64/__unmapself.s b/src/thread/x86_64/__unmapself.s index 59092eaa..99c1b7c1 100644 --- a/src/thread/x86_64/__unmapself.s +++ b/src/thread/x86_64/__unmapself.s @@ -1,24 +1,10 @@ /* Copyright 2011 Nicholas J. Kain, licensed GNU LGPL 2.1 or later */ .text .global __unmapself -.type __unmapself,%function +.type __unmapself,@function __unmapself: - call 1f /* glibc ABI compat */ - .long -1 - .long -1 -1: push %rsi /* save arg2 for munmap */ - push %rdx /* save arg3 for munmap */ - mov %rdi,%rsi /* rt_sigprocmask() args: move arg1 to rsi */ - xor %rdi,%rdi - xor %rdx,%rdx - movq $8,%r10 - movl $14,%eax /* __NR_rt_sigprocmask */ - syscall /* call rt_sigprocmask(0,arg1,0,8) */ - pop %rsi /* munmap() args: reload from stack */ - pop %rdi - movl $11,%eax /* __NR_munmap */ + movl $11,%eax /* SYS_munmap */ syscall /* munmap(arg2,arg3) */ xor %rdi,%rdi /* exit() args: always return success */ - movl $60,%eax /* __NR_exit */ + movl $60,%eax /* SYS_exit */ syscall /* exit(0) */ -.size __unmapself,.-__unmapself