1133066Sdfr/*-
2133066Sdfr * Copyright (C) 2004 NVIDIA Corporation.
3133066Sdfr * All rights reserved.
4133066Sdfr *
5133066Sdfr * Redistribution and use in source and binary forms, with or without
6133066Sdfr * modification, are permitted provided that the following conditions
7133066Sdfr * are met:
8133066Sdfr * 1. Redistributions of source code must retain the above copyright
9133066Sdfr *    notice, this list of conditions and the following disclaimer.
10133066Sdfr * 2. Redistributions in binary form must reproduce the above copyright
11133066Sdfr *    notice, this list of conditions and the following disclaimer in the
12133066Sdfr *    documentation and/or other materials provided with the distribution.
13133066Sdfr *
14133066Sdfr * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15133066Sdfr * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16133066Sdfr * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17133066Sdfr * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18133066Sdfr * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19133066Sdfr * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20133066Sdfr * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21133066Sdfr * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22133066Sdfr * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23133066Sdfr * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24133066Sdfr * SUCH DAMAGE.
25133066Sdfr *
26133066Sdfr *	$FreeBSD$
27133066Sdfr */
28133066Sdfr
29133066Sdfr.file "elftls.S"
30133066Sdfr
31133066Sdfr.globl __gl_tls_offsets
32133066Sdfr    .type __gl_tls_offsets,@object
33133066Sdfr
34133066Sdfr.section .tbss,"awT",@nobits
35133066Sdfr
36133066Sdfr.globl __gl_tls_var0
37133066Sdfr    .align 4
38133066Sdfr    .type   __gl_tls_var0, @object
39133066Sdfr    .size   __gl_tls_var0, 4
40133066Sdfr__gl_tls_var0:
41133066Sdfr    .zero   4
42133066Sdfr
43133066Sdfr.globl __gl_tls_var1
44133066Sdfr    .align 4
45133066Sdfr    .type   __gl_tls_var1, @object
46133066Sdfr    .size   __gl_tls_var1, 4
47133066Sdfr__gl_tls_var1:
48133066Sdfr    .zero   4
49133066Sdfr
50133066Sdfr.globl __gl_tls_var2
51133066Sdfr    .align 4
52133066Sdfr    .type   __gl_tls_var2, @object
53133066Sdfr    .size   __gl_tls_var2, 4
54133066Sdfr__gl_tls_var2:
55133066Sdfr    .zero   4
56133066Sdfr
57133066Sdfr.globl __gl_tls_var3
58133066Sdfr    .align 4
59133066Sdfr    .type   __gl_tls_var3, @object
60133066Sdfr    .size   __gl_tls_var3, 4
61133066Sdfr__gl_tls_var3:
62133066Sdfr    .zero   4
63133066Sdfr
64133066Sdfr.globl __gl_tls_var4
65133066Sdfr    .align 4
66133066Sdfr    .type   __gl_tls_var4, @object
67133066Sdfr    .size   __gl_tls_var4, 4
68133066Sdfr__gl_tls_var4:
69133066Sdfr    .zero   4
70133066Sdfr
71133066Sdfr.globl __gl_tls_var5
72133066Sdfr    .align 4
73133066Sdfr    .type   __gl_tls_var5, @object
74133066Sdfr    .size   __gl_tls_var5, 4
75133066Sdfr__gl_tls_var5:
76133066Sdfr    .zero   4
77133066Sdfr
78133066Sdfr.globl __gl_tls_var6
79133066Sdfr    .align 4
80133066Sdfr    .type   __gl_tls_var6, @object
81133066Sdfr    .size   __gl_tls_var6, 4
82133066Sdfr__gl_tls_var6:
83133066Sdfr    .zero   4
84133066Sdfr
85133066Sdfr.globl __gl_tls_var7
86133066Sdfr    .align 4
87133066Sdfr    .type   __gl_tls_var7, @object
88133066Sdfr    .size   __gl_tls_var7, 4
89133066Sdfr__gl_tls_var7:
90133066Sdfr    .zero   4
91133066Sdfr
92133066Sdfr.text
93133066Sdfr    .p2align 4,,15
94133066Sdfr.globl __gl_tls_init_offsets
95133066Sdfr    .type __gl_tls_init_offsets, @function
96133066Sdfr__gl_tls_init_offsets:
97133066Sdfr    movl $__gl_tls_offsets, %eax
98133066Sdfr    movl $__gl_tls_var0@ntpoff, %ecx
99133066Sdfr    movl %ecx, 0(%eax)
100133066Sdfr    movl $__gl_tls_var1@ntpoff, %ecx
101133066Sdfr    movl %ecx, 4(%eax)
102133066Sdfr    movl $__gl_tls_var2@ntpoff, %ecx
103133066Sdfr    movl %ecx, 8(%eax)
104133066Sdfr    movl $__gl_tls_var3@ntpoff, %ecx
105133066Sdfr    movl %ecx, 12(%eax)
106133066Sdfr    movl $__gl_tls_var4@ntpoff, %ecx
107133066Sdfr    movl %ecx, 16(%eax)
108133066Sdfr    movl $__gl_tls_var5@ntpoff, %ecx
109133066Sdfr    movl %ecx, 20(%eax)
110133066Sdfr    movl $__gl_tls_var6@ntpoff, %ecx
111133066Sdfr    movl %ecx, 24(%eax)
112133066Sdfr    movl $__gl_tls_var7@ntpoff, %ecx
113133066Sdfr    movl %ecx, 28(%eax)
114133066Sdfr    ret
115