X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fthread%2Fx86_64%2F__unmapself.s;h=e2689e65052ce76b4639324c3bcf239f97c36eee;hb=52d4444f8eec1a4e7e0861859c705c3a558b4e2a;hp=59092eaa53fefd472735c3a5c023a3f0ad56787d;hpb=1e12632591ab98a6ea3af8680716c28282552981;p=musl diff --git a/src/thread/x86_64/__unmapself.s b/src/thread/x86_64/__unmapself.s index 59092eaa..e2689e65 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 */ +/* Copyright 2011-2012 Nicholas J. Kain, licensed under standard MIT license */ .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