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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [binutils-2.18.50/] [ld/] [testsuite/] [ld-sh/] [tlspic1.s] - Diff between revs 156 and 816

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 156 Rev 816
        .section ".tdata", "awT", @progbits
        .section ".tdata", "awT", @progbits
        .globl sg1, sg2
        .globl sg1, sg2
        .globl sh1, sh2
        .globl sh1, sh2
        .hidden sh1, sh2
        .hidden sh1, sh2
sg1:    .long 17
sg1:    .long 17
sg2:    .long 18
sg2:    .long 18
sl1:    .long 65
sl1:    .long 65
sl2:    .long 66
sl2:    .long 66
sh1:    .long 257
sh1:    .long 257
sh2:    .long 258
sh2:    .long 258
        .text
        .text
        .align  1
        .align  1
        .globl  fn1
        .globl  fn1
        .type   fn1,@function
        .type   fn1,@function
fn1:
fn1:
        mov.l   r12,@-r15
        mov.l   r12,@-r15
        mov.l   r14,@-r15
        mov.l   r14,@-r15
        sts.l   pr,@-r15
        sts.l   pr,@-r15
        mova    .L3,r0
        mova    .L3,r0
        mov.l   .L3,r12
        mov.l   .L3,r12
        add     r0,r12
        add     r0,r12
        mov     r15,r14
        mov     r15,r14
        nop;nop;nop;nop
        nop;nop;nop;nop
 
 
        ! GD
        ! GD
        mov.l   1f,r4
        mov.l   1f,r4
        mova    2f,r0
        mova    2f,r0
        mov.l   2f,r1
        mov.l   2f,r1
        add     r0,r1
        add     r0,r1
        jsr     @r1
        jsr     @r1
        add     r12,r4
        add     r12,r4
        bra     3f
        bra     3f
        nop
        nop
        .align  2
        .align  2
1:      .long   sg1@TLSGD
1:      .long   sg1@TLSGD
2:      .long   __tls_get_addr@PLT
2:      .long   __tls_get_addr@PLT
3:
3:
        nop;nop;nop;nop
        nop;nop;nop;nop
 
 
        ! GD -> IE because variable is referenced through @GOTTPOFF too
        ! GD -> IE because variable is referenced through @GOTTPOFF too
        mov.l   1f,r4
        mov.l   1f,r4
        mova    2f,r0
        mova    2f,r0
        mov.l   2f,r1
        mov.l   2f,r1
        add     r0,r1
        add     r0,r1
        jsr     @r1
        jsr     @r1
        add     r12,r4
        add     r12,r4
        bra     3f
        bra     3f
        nop
        nop
        .align  2
        .align  2
1:      .long   sg2@TLSGD
1:      .long   sg2@TLSGD
2:      .long   __tls_get_addr@PLT
2:      .long   __tls_get_addr@PLT
3:
3:
        nop;nop;nop;nop
        nop;nop;nop;nop
 
 
        ! GD against local variable
        ! GD against local variable
        mov.l   1f,r4
        mov.l   1f,r4
        mova    2f,r0
        mova    2f,r0
        mov.l   2f,r1
        mov.l   2f,r1
        add     r0,r1
        add     r0,r1
        jsr     @r1
        jsr     @r1
        add     r12,r4
        add     r12,r4
        bra     3f
        bra     3f
        nop
        nop
        .align  2
        .align  2
1:      .long   sl1@TLSGD
1:      .long   sl1@TLSGD
2:      .long   __tls_get_addr@PLT
2:      .long   __tls_get_addr@PLT
3:
3:
        nop;nop;nop;nop
        nop;nop;nop;nop
 
 
        ! GD -> IE against local variable referenced through @GOTTPOFF too
        ! GD -> IE against local variable referenced through @GOTTPOFF too
        mov.l   1f,r4
        mov.l   1f,r4
        mova    2f,r0
        mova    2f,r0
        mov.l   2f,r1
        mov.l   2f,r1
        add     r0,r1
        add     r0,r1
        jsr     @r1
        jsr     @r1
        add     r12,r4
        add     r12,r4
        bra     3f
        bra     3f
        nop
        nop
        .align  2
        .align  2
1:      .long   sl2@TLSGD
1:      .long   sl2@TLSGD
2:      .long   __tls_get_addr@PLT
2:      .long   __tls_get_addr@PLT
3:
3:
        nop;nop;nop;nop
        nop;nop;nop;nop
 
 
        ! GD against hidden and local variable
        ! GD against hidden and local variable
        mov.l   1f,r4
        mov.l   1f,r4
        mova    2f,r0
        mova    2f,r0
        mov.l   2f,r1
        mov.l   2f,r1
        add     r0,r1
        add     r0,r1
        jsr     @r1
        jsr     @r1
        add     r12,r4
        add     r12,r4
        bra     3f
        bra     3f
        nop
        nop
        .align  2
        .align  2
1:      .long   sh1@TLSGD
1:      .long   sh1@TLSGD
2:      .long   __tls_get_addr@PLT
2:      .long   __tls_get_addr@PLT
3:
3:
        nop;nop;nop;nop
        nop;nop;nop;nop
 
 
        ! GD -> IE against hidden and local variable referenced through
        ! GD -> IE against hidden and local variable referenced through
        ! @GOTTPOFF too
        ! @GOTTPOFF too
        mov.l   1f,r4
        mov.l   1f,r4
        mova    2f,r0
        mova    2f,r0
        mov.l   2f,r1
        mov.l   2f,r1
        add     r0,r1
        add     r0,r1
        jsr     @r1
        jsr     @r1
        add     r12,r4
        add     r12,r4
        bra     3f
        bra     3f
        nop
        nop
        .align  2
        .align  2
1:      .long   sh2@TLSGD
1:      .long   sh2@TLSGD
2:      .long   __tls_get_addr@PLT
2:      .long   __tls_get_addr@PLT
3:
3:
        nop;nop;nop;nop
        nop;nop;nop;nop
 
 
        ! GD against hidden but not local variable
        ! GD against hidden but not local variable
        mov.l   1f,r4
        mov.l   1f,r4
        mova    2f,r0
        mova    2f,r0
        mov.l   2f,r1
        mov.l   2f,r1
        add     r0,r1
        add     r0,r1
        jsr     @r1
        jsr     @r1
        add     r12,r4
        add     r12,r4
        bra     3f
        bra     3f
        nop
        nop
        .align  2
        .align  2
1:      .long   sH1@TLSGD
1:      .long   sH1@TLSGD
2:      .long   __tls_get_addr@PLT
2:      .long   __tls_get_addr@PLT
3:
3:
        nop;nop;nop;nop
        nop;nop;nop;nop
 
 
        ! GD -> IE against hidden but not local variable referenced through
        ! GD -> IE against hidden but not local variable referenced through
        ! @GOTTPOFF too
        ! @GOTTPOFF too
        mov.l   1f,r4
        mov.l   1f,r4
        mova    2f,r0
        mova    2f,r0
        mov.l   2f,r1
        mov.l   2f,r1
        add     r0,r1
        add     r0,r1
        jsr     @r1
        jsr     @r1
        add     r12,r4
        add     r12,r4
        bra     3f
        bra     3f
        nop
        nop
        .align  2
        .align  2
1:      .long   sH2@TLSGD
1:      .long   sH2@TLSGD
2:      .long   __tls_get_addr@PLT
2:      .long   __tls_get_addr@PLT
3:
3:
        nop;nop;nop;nop
        nop;nop;nop;nop
 
 
        ! LD
        ! LD
        mov.l   1f,r4
        mov.l   1f,r4
        mova    2f,r0
        mova    2f,r0
        mov.l   2f,r1
        mov.l   2f,r1
        add     r0,r1
        add     r0,r1
        jsr     @r1
        jsr     @r1
        add     r12,r4
        add     r12,r4
        bra     3f
        bra     3f
        nop
        nop
        .align  2
        .align  2
1:      .long   sl1@TLSLDM
1:      .long   sl1@TLSLDM
2:      .long   __tls_get_addr@PLT
2:      .long   __tls_get_addr@PLT
3:
3:
        nop;nop
        nop;nop
        mov.l   .L4,r1
        mov.l   .L4,r1
        add     r0,r1
        add     r0,r1
        nop;nop
        nop;nop
        mov.l   .L5,r2
        mov.l   .L5,r2
        add     r0,r2
        add     r0,r2
        nop;nop;nop;nop
        nop;nop;nop;nop
 
 
        ! LD against hidden and local variables
        ! LD against hidden and local variables
        mov.l   1f,r4
        mov.l   1f,r4
        mova    2f,r0
        mova    2f,r0
        mov.l   2f,r1
        mov.l   2f,r1
        add     r0,r1
        add     r0,r1
        jsr     @r1
        jsr     @r1
        add     r12,r4
        add     r12,r4
        bra     3f
        bra     3f
        nop
        nop
        .align  2
        .align  2
1:      .long   sl1@TLSLDM
1:      .long   sl1@TLSLDM
2:      .long   __tls_get_addr@PLT
2:      .long   __tls_get_addr@PLT
3:
3:
        nop;nop
        nop;nop
        mov.l   .L6,r1
        mov.l   .L6,r1
        add     r0,r1
        add     r0,r1
        nop;nop
        nop;nop
        mov.l   .L7,r2
        mov.l   .L7,r2
        add     r0,r2
        add     r0,r2
        nop;nop;nop;nop
        nop;nop;nop;nop
 
 
        ! LD against hidden but not local variables
        ! LD against hidden but not local variables
        mov.l   1f,r4
        mov.l   1f,r4
        mova    2f,r0
        mova    2f,r0
        mov.l   2f,r1
        mov.l   2f,r1
        add     r0,r1
        add     r0,r1
        jsr     @r1
        jsr     @r1
        add     r12,r4
        add     r12,r4
        bra     3f
        bra     3f
        nop
        nop
        .align  2
        .align  2
1:      .long   sH1@TLSLDM
1:      .long   sH1@TLSLDM
2:      .long   __tls_get_addr@PLT
2:      .long   __tls_get_addr@PLT
3:
3:
        nop;nop
        nop;nop
        mov.l   .L8,r1
        mov.l   .L8,r1
        add     r0,r1
        add     r0,r1
        nop;nop
        nop;nop
        mov.l   .L9,r2
        mov.l   .L9,r2
        add     r0,r2
        add     r0,r2
        nop;nop;nop;nop
        nop;nop;nop;nop
 
 
        ! @GOTTPOFF IE against global var
        ! @GOTTPOFF IE against global var
        mov.l   1f,r0
        mov.l   1f,r0
        stc     gbr,r1
        stc     gbr,r1
        mov.l   @(r0,r12),r0
        mov.l   @(r0,r12),r0
        bra     2f
        bra     2f
        add     r0,r1
        add     r0,r1
        .align  2
        .align  2
1:      .long   sg2@GOTTPOFF
1:      .long   sg2@GOTTPOFF
2:
2:
        nop;nop;nop;nop
        nop;nop;nop;nop
 
 
        ! @GOTTPOFF IE against local var
        ! @GOTTPOFF IE against local var
        mov.l   1f,r0
        mov.l   1f,r0
        stc     gbr,r1
        stc     gbr,r1
        mov.l   @(r0,r12),r0
        mov.l   @(r0,r12),r0
        bra     2f
        bra     2f
        add     r0,r1
        add     r0,r1
        .align  2
        .align  2
1:      .long   sl2@GOTTPOFF
1:      .long   sl2@GOTTPOFF
2:
2:
        nop;nop;nop;nop
        nop;nop;nop;nop
 
 
        ! @GOTTPOFF IE against hidden and local var
        ! @GOTTPOFF IE against hidden and local var
        mov.l   1f,r0
        mov.l   1f,r0
        stc     gbr,r1
        stc     gbr,r1
        mov.l   @(r0,r12),r0
        mov.l   @(r0,r12),r0
        bra     2f
        bra     2f
        add     r0,r1
        add     r0,r1
        .align  2
        .align  2
1:      .long   sh2@GOTTPOFF
1:      .long   sh2@GOTTPOFF
2:
2:
        nop;nop;nop;nop
        nop;nop;nop;nop
 
 
        ! @GOTTPOFF IE against hidden but not local var
        ! @GOTTPOFF IE against hidden but not local var
        mov.l   1f,r0
        mov.l   1f,r0
        stc     gbr,r1
        stc     gbr,r1
        mov.l   @(r0,r12),r0
        mov.l   @(r0,r12),r0
        bra     2f
        bra     2f
        add     r0,r1
        add     r0,r1
        .align  2
        .align  2
1:      .long   sH2@GOTTPOFF
1:      .long   sH2@GOTTPOFF
2:
2:
        nop;nop;nop;nop
        nop;nop;nop;nop
 
 
        mov     r14,r15
        mov     r14,r15
        lds.l   @r15+,pr
        lds.l   @r15+,pr
        mov.l   @r15+,r14
        mov.l   @r15+,r14
        rts
        rts
        mov.l   @r15+,r12
        mov.l   @r15+,r12
 
 
        .align 2
        .align 2
.L3:    .long   _GLOBAL_OFFSET_TABLE_
.L3:    .long   _GLOBAL_OFFSET_TABLE_
.L4:    .long   sl1@DTPOFF
.L4:    .long   sl1@DTPOFF
.L5:    .long   sl1@DTPOFF + 4
.L5:    .long   sl1@DTPOFF + 4
.L6:    .long   sh1@DTPOFF
.L6:    .long   sh1@DTPOFF
.L7:    .long   sh2@DTPOFF
.L7:    .long   sh2@DTPOFF
.L8:    .long   sH1@DTPOFF
.L8:    .long   sH1@DTPOFF
.L9:    .long   sH2@DTPOFF
.L9:    .long   sH2@DTPOFF
 
 

powered by: WebSVN 2.1.0

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