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

Subversion Repositories openrisc

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

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 38 julius
        .section ".tdata", "awT", @progbits
2
        .globl foo, baz
3
        .hidden baz
4
foo:    .long 25
5
bar:    .long 27
6
baz:    .long 29
7
        .text
8
        .globl  fn
9
        .type   fn,@function
10
fn:
11
        pushl   %ebp
12
        movl    %esp, %ebp
13
        pushl   %ebx
14
        pushl   %eax
15
        call    1f
16
1:      popl    %ebx
17
        addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %ebx
18
 
19
        /* Dynamic TLS model, foo not known to be in the current object  */
20
        leal    foo@TLSGD(,%ebx,1), %eax
21
        call    ___tls_get_addr@PLT
22
        /* %eax now contains &foo  */
23
 
24
        /* Dynamic TLS model, bar and baz known to be in the current object  */
25
        leal    bar@TLSLDM(%ebx), %eax
26
        call    ___tls_get_addr@PLT
27
 
28
        /* Just show that there can be arbitrary instructions here  */
29
        addl    $0, %edi
30
 
31
        leal    bar@DTPOFF(%eax), %edx
32
        /* %edx now contains &bar  */
33
 
34
        /* Again, arbitrary instructions  */
35
        addl    $0, %esi
36
 
37
        leal    baz@DTPOFF(%eax), %ecx
38
        /* %ecx now contains &baz  */
39
 
40
        movl    -4(%ebp), %ebx
41
        leave
42
        ret

powered by: WebSVN 2.1.0

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