mirror of git://git.musl-libc.org/musl
fix initial stack alignment in new threads on x86_64
This commit is contained in:
parent
cbb65af6ae
commit
e6cc1d6c0e
|
@ -5,7 +5,7 @@
|
||||||
/* rdi = child_stack, rsi = start, rdx = pthread_struct */
|
/* rdi = child_stack, rsi = start, rdx = pthread_struct */
|
||||||
__uniclone:
|
__uniclone:
|
||||||
subq $8,%rsp /* pad parent stack to prevent branch later */
|
subq $8,%rsp /* pad parent stack to prevent branch later */
|
||||||
subq $16,%rdi /* grow child_stack */
|
subq $24,%rdi /* grow child_stack */
|
||||||
mov %rsi,8(%rdi) /* push start onto child_stack as return ptr */
|
mov %rsi,8(%rdi) /* push start onto child_stack as return ptr */
|
||||||
mov %rdx,0(%rdi) /* push pthread_struct onto child_stack */
|
mov %rdx,0(%rdi) /* push pthread_struct onto child_stack */
|
||||||
mov %rdx,%r8 /* r8 = tls */
|
mov %rdx,%r8 /* r8 = tls */
|
||||||
|
|
Loading…
Reference in New Issue