summaryrefslogtreecommitdiff
path: root/src/thread/i386/tls.s
blob: 76d5d46253132b35705e27493ca0b1ad7fcbc66a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
.text
.global ___tls_get_addr
.type ___tls_get_addr,@function
___tls_get_addr:
	mov %gs:4,%edx
	mov (%eax),%ecx
	cmp %ecx,(%edx)
	jc 1f
	mov 4(%eax),%eax
	add (%edx,%ecx,4),%eax
	ret
1:	push %eax
.weak __tls_get_new
.hidden __tls_get_new
	call __tls_get_new
	pop %edx
	ret