xref: /freebsd/tools/regression/tls/ttls3/elftls.S (revision b3e7694832e81d7a904a10f525f8797b753bf0d3)
12546665aSDoug Rabson/*-
22546665aSDoug Rabson * Copyright (C) 2004 NVIDIA Corporation.
32546665aSDoug Rabson * All rights reserved.
42546665aSDoug Rabson *
52546665aSDoug Rabson * Redistribution and use in source and binary forms, with or without
62546665aSDoug Rabson * modification, are permitted provided that the following conditions
72546665aSDoug Rabson * are met:
82546665aSDoug Rabson * 1. Redistributions of source code must retain the above copyright
92546665aSDoug Rabson *    notice, this list of conditions and the following disclaimer.
102546665aSDoug Rabson * 2. Redistributions in binary form must reproduce the above copyright
112546665aSDoug Rabson *    notice, this list of conditions and the following disclaimer in the
122546665aSDoug Rabson *    documentation and/or other materials provided with the distribution.
132546665aSDoug Rabson *
142546665aSDoug Rabson * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
152546665aSDoug Rabson * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
162546665aSDoug Rabson * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
172546665aSDoug Rabson * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
182546665aSDoug Rabson * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
192546665aSDoug Rabson * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
202546665aSDoug Rabson * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
212546665aSDoug Rabson * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
222546665aSDoug Rabson * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
232546665aSDoug Rabson * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
242546665aSDoug Rabson * SUCH DAMAGE.
252546665aSDoug Rabson */
262546665aSDoug Rabson
272546665aSDoug Rabson.file "elftls.S"
282546665aSDoug Rabson
292546665aSDoug Rabson.globl __gl_tls_offsets
302546665aSDoug Rabson    .type __gl_tls_offsets,@object
312546665aSDoug Rabson
322546665aSDoug Rabson.section .tbss,"awT",@nobits
332546665aSDoug Rabson
342546665aSDoug Rabson.globl __gl_tls_var0
352546665aSDoug Rabson    .align 4
362546665aSDoug Rabson    .type   __gl_tls_var0, @object
372546665aSDoug Rabson    .size   __gl_tls_var0, 4
382546665aSDoug Rabson__gl_tls_var0:
392546665aSDoug Rabson    .zero   4
402546665aSDoug Rabson
412546665aSDoug Rabson.globl __gl_tls_var1
422546665aSDoug Rabson    .align 4
432546665aSDoug Rabson    .type   __gl_tls_var1, @object
442546665aSDoug Rabson    .size   __gl_tls_var1, 4
452546665aSDoug Rabson__gl_tls_var1:
462546665aSDoug Rabson    .zero   4
472546665aSDoug Rabson
482546665aSDoug Rabson.globl __gl_tls_var2
492546665aSDoug Rabson    .align 4
502546665aSDoug Rabson    .type   __gl_tls_var2, @object
512546665aSDoug Rabson    .size   __gl_tls_var2, 4
522546665aSDoug Rabson__gl_tls_var2:
532546665aSDoug Rabson    .zero   4
542546665aSDoug Rabson
552546665aSDoug Rabson.globl __gl_tls_var3
562546665aSDoug Rabson    .align 4
572546665aSDoug Rabson    .type   __gl_tls_var3, @object
582546665aSDoug Rabson    .size   __gl_tls_var3, 4
592546665aSDoug Rabson__gl_tls_var3:
602546665aSDoug Rabson    .zero   4
612546665aSDoug Rabson
622546665aSDoug Rabson.globl __gl_tls_var4
632546665aSDoug Rabson    .align 4
642546665aSDoug Rabson    .type   __gl_tls_var4, @object
652546665aSDoug Rabson    .size   __gl_tls_var4, 4
662546665aSDoug Rabson__gl_tls_var4:
672546665aSDoug Rabson    .zero   4
682546665aSDoug Rabson
692546665aSDoug Rabson.globl __gl_tls_var5
702546665aSDoug Rabson    .align 4
712546665aSDoug Rabson    .type   __gl_tls_var5, @object
722546665aSDoug Rabson    .size   __gl_tls_var5, 4
732546665aSDoug Rabson__gl_tls_var5:
742546665aSDoug Rabson    .zero   4
752546665aSDoug Rabson
762546665aSDoug Rabson.globl __gl_tls_var6
772546665aSDoug Rabson    .align 4
782546665aSDoug Rabson    .type   __gl_tls_var6, @object
792546665aSDoug Rabson    .size   __gl_tls_var6, 4
802546665aSDoug Rabson__gl_tls_var6:
812546665aSDoug Rabson    .zero   4
822546665aSDoug Rabson
832546665aSDoug Rabson.globl __gl_tls_var7
842546665aSDoug Rabson    .align 4
852546665aSDoug Rabson    .type   __gl_tls_var7, @object
862546665aSDoug Rabson    .size   __gl_tls_var7, 4
872546665aSDoug Rabson__gl_tls_var7:
882546665aSDoug Rabson    .zero   4
892546665aSDoug Rabson
902546665aSDoug Rabson.text
912546665aSDoug Rabson    .p2align 4,,15
922546665aSDoug Rabson.globl __gl_tls_init_offsets
932546665aSDoug Rabson    .type __gl_tls_init_offsets, @function
942546665aSDoug Rabson__gl_tls_init_offsets:
952546665aSDoug Rabson    movl $__gl_tls_offsets, %eax
962546665aSDoug Rabson    movl $__gl_tls_var0@ntpoff, %ecx
972546665aSDoug Rabson    movl %ecx, 0(%eax)
982546665aSDoug Rabson    movl $__gl_tls_var1@ntpoff, %ecx
992546665aSDoug Rabson    movl %ecx, 4(%eax)
1002546665aSDoug Rabson    movl $__gl_tls_var2@ntpoff, %ecx
1012546665aSDoug Rabson    movl %ecx, 8(%eax)
1022546665aSDoug Rabson    movl $__gl_tls_var3@ntpoff, %ecx
1032546665aSDoug Rabson    movl %ecx, 12(%eax)
1042546665aSDoug Rabson    movl $__gl_tls_var4@ntpoff, %ecx
1052546665aSDoug Rabson    movl %ecx, 16(%eax)
1062546665aSDoug Rabson    movl $__gl_tls_var5@ntpoff, %ecx
1072546665aSDoug Rabson    movl %ecx, 20(%eax)
1082546665aSDoug Rabson    movl $__gl_tls_var6@ntpoff, %ecx
1092546665aSDoug Rabson    movl %ecx, 24(%eax)
1102546665aSDoug Rabson    movl $__gl_tls_var7@ntpoff, %ecx
1112546665aSDoug Rabson    movl %ecx, 28(%eax)
1122546665aSDoug Rabson    ret
113