+ /* check if ust_reg_stack_ptr has been initialized */ \
+ "movq (%%rax),%%rbx\n\t" \
+ "testq %%rbx,%%rbx\n\t" \
+ "jne 1f\n\t" \
+ "movq %%rax,%%rbx\n\t" \
+ /* Start TLS access of private reg stack */ \
+ ".byte 0x66\n\t" \
+ "leaq ust_reg_stack@tlsgd(%%rip), %%rdi\n\t" \
+ ".word 0x6666\n\t" \
+ "rex64\n\t" \
+ "call __tls_get_addr@plt\n\t" \
+ /* --- End TLS access */ \
+ "addq $500,%%rax\n\t" \
+ "movq %%rax,(%%rbx)\n\t" \
+ "movq %%rbx,%%rax\n\t" \
+ /* now the pointer to the private stack is in rax.
+ must add stack size so the ptr points to the stack bottom. */ \
+ "1:\n\t" \