gas: Adjust x86 tests for PECOFF
[deliverable/binutils-gdb.git] / gas / testsuite / gas / i386 / tlsnopic.s
1 .section ".tdata", "awT", @progbits
2 .globl baz
3 .hidden baz
4 .globl var
5 .hidden var2
6 bar: .long 27
7 baz: .long 29
8 var: .long 31
9 var2: .long 33
10 .text
11 .globl fn
12 .type fn,@function
13 fn:
14 /* Main binary, no PIC. */
15 1: movl 1b, %edx
16 addl $_GLOBAL_OFFSET_TABLE_+[.-1b], %edx
17
18 /* foo can be anywhere in startup TLS. */
19 movl %gs:0, %eax
20 subl foo@GOTTPOFF(%edx), %eax
21 /* %eax now contains &foo. */
22
23 /* bar only in the main program. */
24 movl %gs:0, %eax
25 subl $bar@TPOFF, %eax
26 /* %eax now contains &bar. */
27
28 /* baz only in the main program. */
29 movl %gs:0, %ecx
30 /* Arbitrary instructions in between. */
31 nop
32 subl $baz@TPOFF, %ecx
33 /* %ecx now contains &baz. */
34
35 /* var and var2 only in the main program. */
36 movl %gs:0, %ecx
37 /* Arbitrary instructions in between. */
38 nop
39 nop
40 leal var@NTPOFF(%ecx), %eax
41 /* Arbitrary instructions in between. */
42 nop
43 leal var2@NTPOFF(%ecx), %edx
44
45 /* foo can be anywhere in startup TLS. */
46 movl foo@INDNTPOFF, %eax
47 movl %gs:(%eax), %eax
48 /* %eax now contains foo. */
49
50 movl %gs:0, %eax
51 addl foo@INDNTPOFF, %eax
52 /* %eax now contains &foo. */
53
54 ret
This page took 0.046668 seconds and 4 git commands to generate.