xref: /freebsd/tools/regression/tls/ttls3/elftls.S (revision 2546665afcaf0d53dc2c7058fee96354b3680f5a)
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 *	$FreeBSD$
272546665aSDoug Rabson */
282546665aSDoug Rabson
292546665aSDoug Rabson.file "elftls.S"
302546665aSDoug Rabson
312546665aSDoug Rabson.globl __gl_tls_offsets
322546665aSDoug Rabson    .type __gl_tls_offsets,@object
332546665aSDoug Rabson
342546665aSDoug Rabson.section .tbss,"awT",@nobits
352546665aSDoug Rabson
362546665aSDoug Rabson.globl __gl_tls_var0
372546665aSDoug Rabson    .align 4
382546665aSDoug Rabson    .type   __gl_tls_var0, @object
392546665aSDoug Rabson    .size   __gl_tls_var0, 4
402546665aSDoug Rabson__gl_tls_var0:
412546665aSDoug Rabson    .zero   4
422546665aSDoug Rabson
432546665aSDoug Rabson.globl __gl_tls_var1
442546665aSDoug Rabson    .align 4
452546665aSDoug Rabson    .type   __gl_tls_var1, @object
462546665aSDoug Rabson    .size   __gl_tls_var1, 4
472546665aSDoug Rabson__gl_tls_var1:
482546665aSDoug Rabson    .zero   4
492546665aSDoug Rabson
502546665aSDoug Rabson.globl __gl_tls_var2
512546665aSDoug Rabson    .align 4
522546665aSDoug Rabson    .type   __gl_tls_var2, @object
532546665aSDoug Rabson    .size   __gl_tls_var2, 4
542546665aSDoug Rabson__gl_tls_var2:
552546665aSDoug Rabson    .zero   4
562546665aSDoug Rabson
572546665aSDoug Rabson.globl __gl_tls_var3
582546665aSDoug Rabson    .align 4
592546665aSDoug Rabson    .type   __gl_tls_var3, @object
602546665aSDoug Rabson    .size   __gl_tls_var3, 4
612546665aSDoug Rabson__gl_tls_var3:
622546665aSDoug Rabson    .zero   4
632546665aSDoug Rabson
642546665aSDoug Rabson.globl __gl_tls_var4
652546665aSDoug Rabson    .align 4
662546665aSDoug Rabson    .type   __gl_tls_var4, @object
672546665aSDoug Rabson    .size   __gl_tls_var4, 4
682546665aSDoug Rabson__gl_tls_var4:
692546665aSDoug Rabson    .zero   4
702546665aSDoug Rabson
712546665aSDoug Rabson.globl __gl_tls_var5
722546665aSDoug Rabson    .align 4
732546665aSDoug Rabson    .type   __gl_tls_var5, @object
742546665aSDoug Rabson    .size   __gl_tls_var5, 4
752546665aSDoug Rabson__gl_tls_var5:
762546665aSDoug Rabson    .zero   4
772546665aSDoug Rabson
782546665aSDoug Rabson.globl __gl_tls_var6
792546665aSDoug Rabson    .align 4
802546665aSDoug Rabson    .type   __gl_tls_var6, @object
812546665aSDoug Rabson    .size   __gl_tls_var6, 4
822546665aSDoug Rabson__gl_tls_var6:
832546665aSDoug Rabson    .zero   4
842546665aSDoug Rabson
852546665aSDoug Rabson.globl __gl_tls_var7
862546665aSDoug Rabson    .align 4
872546665aSDoug Rabson    .type   __gl_tls_var7, @object
882546665aSDoug Rabson    .size   __gl_tls_var7, 4
892546665aSDoug Rabson__gl_tls_var7:
902546665aSDoug Rabson    .zero   4
912546665aSDoug Rabson
922546665aSDoug Rabson.text
932546665aSDoug Rabson    .p2align 4,,15
942546665aSDoug Rabson.globl __gl_tls_init_offsets
952546665aSDoug Rabson    .type __gl_tls_init_offsets, @function
962546665aSDoug Rabson__gl_tls_init_offsets:
972546665aSDoug Rabson    movl $__gl_tls_offsets, %eax
982546665aSDoug Rabson    movl $__gl_tls_var0@ntpoff, %ecx
992546665aSDoug Rabson    movl %ecx, 0(%eax)
1002546665aSDoug Rabson    movl $__gl_tls_var1@ntpoff, %ecx
1012546665aSDoug Rabson    movl %ecx, 4(%eax)
1022546665aSDoug Rabson    movl $__gl_tls_var2@ntpoff, %ecx
1032546665aSDoug Rabson    movl %ecx, 8(%eax)
1042546665aSDoug Rabson    movl $__gl_tls_var3@ntpoff, %ecx
1052546665aSDoug Rabson    movl %ecx, 12(%eax)
1062546665aSDoug Rabson    movl $__gl_tls_var4@ntpoff, %ecx
1072546665aSDoug Rabson    movl %ecx, 16(%eax)
1082546665aSDoug Rabson    movl $__gl_tls_var5@ntpoff, %ecx
1092546665aSDoug Rabson    movl %ecx, 20(%eax)
1102546665aSDoug Rabson    movl $__gl_tls_var6@ntpoff, %ecx
1112546665aSDoug Rabson    movl %ecx, 24(%eax)
1122546665aSDoug Rabson    movl $__gl_tls_var7@ntpoff, %ecx
1132546665aSDoug Rabson    movl %ecx, 28(%eax)
1142546665aSDoug Rabson    ret
115