OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [binutils-2.18.50/] [gas/] [testsuite/] [gas/] [i386/] [tlspic.s] - Blame information for rev 856

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 38 julius
        .section ".tdata", "awT", @progbits
2
        .globl foo
3
foo:    .long 25
4
        .text
5
        .globl  fn
6
        .type   fn,@function
7
fn:
8
        pushl   %ebp
9
        movl    %esp, %ebp
10
        pushl   %ebx
11
        pushl   %eax
12
        call    1f
13
1:      popl    %ebx
14
        addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %ebx
15
 
16
        /* foo can be anywhere in the startup TLS  */
17
        movl    %gs:0, %eax
18
 
19
        /* Arbitrary instructions in between.  */
20
        addl    $0, %esi
21
 
22
        subl    foo@GOTTPOFF(%ebx), %eax
23
        /* %eax now contains &foo  */
24
 
25
        /* Now the GNU sequence.  */
26
        movl    foo@GOTNTPOFF(%ebx), %eax
27
 
28
        /* Arbitrary instructions in between.  */
29
        addl    $0, %esi
30
 
31
        movl    %gs:(%eax), %eax
32
        /* %eax now contains foo  */
33
 
34
        movl    %gs:0, %ecx
35
        addl    foo@GOTNTPOFF(%ebx), %ecx
36
 
37
        movl    -4(%ebp), %ebx
38
        leave
39
        ret

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.