📄 tlspic1.s
字号:
.section ".tdata", "awT", @progbits .globl sg1, sg2 .globl sh1, sh2 .hidden sh1, sh2sg1: .long 17sg2: .long 18sl1: .long 65sl2: .long 66sh1: .long 257sh2: .long 258 .text .align 1 .globl fn1 .type fn1,@functionfn1: mov.l r12,@-r15 mov.l r14,@-r15 sts.l pr,@-r15 mova .L3,r0 mov.l .L3,r12 add r0,r12 mov r15,r14 nop;nop;nop;nop ! GD mov.l 1f,r4 mova 2f,r0 mov.l 2f,r1 add r0,r1 jsr @r1 add r12,r4 bra 3f nop .align 21: .long sg1@TLSGD2: .long __tls_get_addr@PLT3: nop;nop;nop;nop ! GD -> IE because variable is referenced through @GOTTPOFF too mov.l 1f,r4 mova 2f,r0 mov.l 2f,r1 add r0,r1 jsr @r1 add r12,r4 bra 3f nop .align 21: .long sg2@TLSGD2: .long __tls_get_addr@PLT3: nop;nop;nop;nop ! GD against local variable mov.l 1f,r4 mova 2f,r0 mov.l 2f,r1 add r0,r1 jsr @r1 add r12,r4 bra 3f nop .align 21: .long sl1@TLSGD2: .long __tls_get_addr@PLT3: nop;nop;nop;nop ! GD -> IE against local variable referenced through @GOTTPOFF too mov.l 1f,r4 mova 2f,r0 mov.l 2f,r1 add r0,r1 jsr @r1 add r12,r4 bra 3f nop .align 21: .long sl2@TLSGD2: .long __tls_get_addr@PLT3: nop;nop;nop;nop ! GD against hidden and local variable mov.l 1f,r4 mova 2f,r0 mov.l 2f,r1 add r0,r1 jsr @r1 add r12,r4 bra 3f nop .align 21: .long sh1@TLSGD2: .long __tls_get_addr@PLT3: nop;nop;nop;nop ! GD -> IE against hidden and local variable referenced through ! @GOTTPOFF too mov.l 1f,r4 mova 2f,r0 mov.l 2f,r1 add r0,r1 jsr @r1 add r12,r4 bra 3f nop .align 21: .long sh2@TLSGD2: .long __tls_get_addr@PLT3: nop;nop;nop;nop ! GD against hidden but not local variable mov.l 1f,r4 mova 2f,r0 mov.l 2f,r1 add r0,r1 jsr @r1 add r12,r4 bra 3f nop .align 21: .long sH1@TLSGD2: .long __tls_get_addr@PLT3: nop;nop;nop;nop ! GD -> IE against hidden but not local variable referenced through ! @GOTTPOFF too mov.l 1f,r4 mova 2f,r0 mov.l 2f,r1 add r0,r1 jsr @r1 add r12,r4 bra 3f nop .align 21: .long sH2@TLSGD2: .long __tls_get_addr@PLT3: nop;nop;nop;nop ! LD mov.l 1f,r4 mova 2f,r0 mov.l 2f,r1 add r0,r1 jsr @r1 add r12,r4 bra 3f nop .align 21: .long sl1@TLSLDM2: .long __tls_get_addr@PLT3: nop;nop mov.l .L4,r1 add r0,r1 nop;nop mov.l .L5,r2 add r0,r2 nop;nop;nop;nop ! LD against hidden and local variables mov.l 1f,r4 mova 2f,r0 mov.l 2f,r1 add r0,r1 jsr @r1 add r12,r4 bra 3f nop .align 21: .long sl1@TLSLDM2: .long __tls_get_addr@PLT3: nop;nop mov.l .L6,r1 add r0,r1 nop;nop mov.l .L7,r2 add r0,r2 nop;nop;nop;nop ! LD against hidden but not local variables mov.l 1f,r4 mova 2f,r0 mov.l 2f,r1 add r0,r1 jsr @r1 add r12,r4 bra 3f nop .align 21: .long sH1@TLSLDM2: .long __tls_get_addr@PLT3: nop;nop mov.l .L8,r1 add r0,r1 nop;nop mov.l .L9,r2 add r0,r2 nop;nop;nop;nop ! @GOTTPOFF IE against global var mov.l 1f,r0 stc gbr,r1 mov.l @(r0,r12),r0 bra 2f add r0,r1 .align 21: .long sg2@GOTTPOFF2: nop;nop;nop;nop ! @GOTTPOFF IE against local var mov.l 1f,r0 stc gbr,r1 mov.l @(r0,r12),r0 bra 2f add r0,r1 .align 21: .long sl2@GOTTPOFF2: nop;nop;nop;nop ! @GOTTPOFF IE against hidden and local var mov.l 1f,r0 stc gbr,r1 mov.l @(r0,r12),r0 bra 2f add r0,r1 .align 21: .long sh2@GOTTPOFF2: nop;nop;nop;nop ! @GOTTPOFF IE against hidden but not local var mov.l 1f,r0 stc gbr,r1 mov.l @(r0,r12),r0 bra 2f add r0,r1 .align 21: .long sH2@GOTTPOFF2: nop;nop;nop;nop mov r14,r15 lds.l @r15+,pr mov.l @r15+,r14 rts mov.l @r15+,r12 .align 2.L3: .long _GLOBAL_OFFSET_TABLE_.L4: .long sl1@DTPOFF.L5: .long sl1@DTPOFF + 4.L6: .long sh1@DTPOFF.L7: .long sh2@DTPOFF.L8: .long sH1@DTPOFF.L9: .long sH2@DTPOFF
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -