Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/tools/regression/tls/ttls3/elftls.S
48255 views
1
/*-
2
* Copyright (C) 2004 NVIDIA Corporation.
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions
7
* are met:
8
* 1. Redistributions of source code must retain the above copyright
9
* notice, this list of conditions and the following disclaimer.
10
* 2. Redistributions in binary form must reproduce the above copyright
11
* notice, this list of conditions and the following disclaimer in the
12
* documentation and/or other materials provided with the distribution.
13
*
14
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24
* SUCH DAMAGE.
25
*/
26
27
.file "elftls.S"
28
29
.globl __gl_tls_offsets
30
.type __gl_tls_offsets,@object
31
32
.section .tbss,"awT",@nobits
33
34
.globl __gl_tls_var0
35
.align 4
36
.type __gl_tls_var0, @object
37
.size __gl_tls_var0, 4
38
__gl_tls_var0:
39
.zero 4
40
41
.globl __gl_tls_var1
42
.align 4
43
.type __gl_tls_var1, @object
44
.size __gl_tls_var1, 4
45
__gl_tls_var1:
46
.zero 4
47
48
.globl __gl_tls_var2
49
.align 4
50
.type __gl_tls_var2, @object
51
.size __gl_tls_var2, 4
52
__gl_tls_var2:
53
.zero 4
54
55
.globl __gl_tls_var3
56
.align 4
57
.type __gl_tls_var3, @object
58
.size __gl_tls_var3, 4
59
__gl_tls_var3:
60
.zero 4
61
62
.globl __gl_tls_var4
63
.align 4
64
.type __gl_tls_var4, @object
65
.size __gl_tls_var4, 4
66
__gl_tls_var4:
67
.zero 4
68
69
.globl __gl_tls_var5
70
.align 4
71
.type __gl_tls_var5, @object
72
.size __gl_tls_var5, 4
73
__gl_tls_var5:
74
.zero 4
75
76
.globl __gl_tls_var6
77
.align 4
78
.type __gl_tls_var6, @object
79
.size __gl_tls_var6, 4
80
__gl_tls_var6:
81
.zero 4
82
83
.globl __gl_tls_var7
84
.align 4
85
.type __gl_tls_var7, @object
86
.size __gl_tls_var7, 4
87
__gl_tls_var7:
88
.zero 4
89
90
.text
91
.p2align 4,,15
92
.globl __gl_tls_init_offsets
93
.type __gl_tls_init_offsets, @function
94
__gl_tls_init_offsets:
95
movl $__gl_tls_offsets, %eax
96
movl $__gl_tls_var0@ntpoff, %ecx
97
movl %ecx, 0(%eax)
98
movl $__gl_tls_var1@ntpoff, %ecx
99
movl %ecx, 4(%eax)
100
movl $__gl_tls_var2@ntpoff, %ecx
101
movl %ecx, 8(%eax)
102
movl $__gl_tls_var3@ntpoff, %ecx
103
movl %ecx, 12(%eax)
104
movl $__gl_tls_var4@ntpoff, %ecx
105
movl %ecx, 16(%eax)
106
movl $__gl_tls_var5@ntpoff, %ecx
107
movl %ecx, 20(%eax)
108
movl $__gl_tls_var6@ntpoff, %ecx
109
movl %ecx, 24(%eax)
110
movl $__gl_tls_var7@ntpoff, %ecx
111
movl %ecx, 28(%eax)
112
ret
113
114