summaryrefslogtreecommitdiff
path: root/src/ldso/i386/tlsdesc.s
blob: a5c0100c3f896e956205eaaeaf433503f15ad4e4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
.text
.global __tlsdesc_static
.hidden __tlsdesc_static
.type __tlsdesc_static,@function
__tlsdesc_static:
	mov 4(%eax),%eax
	ret

.hidden __tls_get_new

.global __tlsdesc_dynamic
.hidden __tlsdesc_dynamic
.type __tlsdesc_dynamic,@function
__tlsdesc_dynamic:
	mov 4(%eax),%eax
	push %edx
	mov %gs:4,%edx
	push %ecx
	mov (%eax),%ecx
	mov 4(%eax),%eax
	add (%edx,%ecx,4),%eax
	pop %ecx
	sub %gs:0,%eax
	pop %edx
	ret