提交 39201d07 编写于 作者: R Rich Felker

add tlsdesc support for x86_64

上级 5ba238e1
......@@ -25,6 +25,8 @@ static int remap_rel(int type)
return REL_DTPOFF;
case R_X86_64_TPOFF64:
return REL_TPOFF;
case R_X86_64_TLSDESC:
return REL_TLSDESC;
}
return 0;
}
.text
.global __tlsdesc_static
.type __tlsdesc_static,@function
__tlsdesc_static:
mov 8(%rax),%rax
ret
.global __tlsdesc_dynamic
.type __tlsdesc_dynamic,@function
__tlsdesc_dynamic:
mov 8(%rax),%rax
push %rdx
mov %fs:8,%rdx
push %rcx
mov (%rax),%rcx
cmp %rcx,(%rdx)
jc 1f
mov 8(%rax),%rax
add (%rdx,%rcx,8),%rax
2: pop %rcx
sub %fs:0,%rax
pop %rdx
ret
1: push %rdi
push %rdi
push %rsi
push %r8
push %r9
push %r10
push %r11
mov %rax,%rdi
call __tls_get_addr
pop %r11
pop %r10
pop %r9
pop %r8
pop %rsi
pop %rdi
pop %rdi
jmp 2b
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册