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

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [binutils-2.18.50/] [ld/] [testsuite/] [ld-sh/] [tlsbinpic.s] - Diff between revs 38 and 156

Only display areas with differences | Details | Blame | View Log

Rev 38 Rev 156
        ! Force .got aligned to 4K, so it very likely gets at 0x413000
        ! Force .got aligned to 4K, so it very likely gets at 0x413000
        .data
        .data
        .balign 4096
        .balign 4096
        .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
        ! Force .text aligned to 4K, so it very likely gets at 0x401000.
        ! Force .text aligned to 4K, so it very likely gets at 0x401000.
        .text
        .text
        .balign 4096
        .balign 4096
        .globl  fn2
        .globl  fn2
        .type   fn2,@function
        .type   fn2,@function
fn2:
fn2:
        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 -> IE because variable is not defined in executable
        ! GD -> IE because variable is not defined in executable
        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 not defined in executable where
        ! GD -> IE because variable is not defined in executable where
        !   the variable is referenced through @gottpoff too
        !   the 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 -> LE with global variable defined in executable
        ! GD -> LE with global variable defined in executable
        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 -> LE with local variable defined in executable
        ! GD -> LE with local variable defined in executable
        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 -> LE with hidden variable defined in executable
        ! GD -> LE with hidden variable defined in executable
        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
 
 
        ! LD -> LE with local variable defined in executable
        ! LD -> LE with local variable defined in executable
        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 -> LE against hidden variables
        ! LD -> LE against hidden 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   .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
 
 
        ! @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 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     r1,r0
        add     r1,r0
        .align  2
        .align  2
1:      .long   sG4@GOTTPOFF
1:      .long   sG4@GOTTPOFF
2:
2:
        nop;nop;nop;nop
        nop;nop;nop;nop
 
 
        ! @GOTTPOFF IE -> LE against global var defined in exec
        ! @GOTTPOFF IE -> LE against global var defined in exec
        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   sg1@GOTTPOFF
1:      .long   sg1@GOTTPOFF
2:
2:
        nop;nop;nop;nop
        nop;nop;nop;nop
 
 
        ! @GOTTPOFF IE -> LE against hidden var
        ! @GOTTPOFF IE -> LE against hidden 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   sh1@GOTTPOFF
1:      .long   sh1@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   sl2@DTPOFF
.L5:    .long   sl2@DTPOFF
.L6:    .long   sh1@DTPOFF
.L6:    .long   sh1@DTPOFF
.L7:    .long   sh2@DTPOFF
.L7:    .long   sh2@DTPOFF
        ! Fill page with 0.
        ! Fill page with 0.
        .space  .L8-.
        .space  .L8-.
        .balign 4096
        .balign 4096
.L8:
.L8:
 
 

powered by: WebSVN 2.1.0

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