| 1 | .section ".tdata", "awT", @progbits |
| 2 | .globl sg1, sg2, sg3, sg4, sg5, sg6, sg7, sg8 |
| 3 | .globl sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8 |
| 4 | .hidden sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8 |
| 5 | sg1: .long 17 |
| 6 | sg2: .long 18 |
| 7 | sg3: .long 19 |
| 8 | sg4: .long 20 |
| 9 | sg5: .long 21 |
| 10 | sg6: .long 22 |
| 11 | sg7: .long 23 |
| 12 | sg8: .long 24 |
| 13 | sl1: .long 65 |
| 14 | sl2: .long 66 |
| 15 | sl3: .long 67 |
| 16 | sl4: .long 68 |
| 17 | sl5: .long 69 |
| 18 | sl6: .long 70 |
| 19 | sl7: .long 71 |
| 20 | sl8: .long 72 |
| 21 | sh1: .long 257 |
| 22 | sh2: .long 258 |
| 23 | sh3: .long 259 |
| 24 | sh4: .long 260 |
| 25 | sh5: .long 261 |
| 26 | sh6: .long 262 |
| 27 | sh7: .long 263 |
| 28 | sh8: .long 264 |
| 29 | |
| 30 | .text |
| 31 | .globl fn2 |
| 32 | .ent fn2 |
| 33 | fn2: |
| 34 | .frame $sp, 16, $26, 0 |
| 35 | ldgp $gp, 0($27) |
| 36 | subq $sp, 16, $sp |
| 37 | stq $26, 0($sp) |
| 38 | .prologue 1 |
| 39 | |
| 40 | /* GD */ |
| 41 | lda $16, sG1($gp) !tlsgd!1 |
| 42 | ldq $27, __tls_get_addr($gp) !literal!1 |
| 43 | jsr $26, ($27), __tls_get_addr !lituse_tlsgd!1 |
| 44 | ldgp $gp, 0($26) |
| 45 | |
| 46 | /* GD against local symbol */ |
| 47 | lda $16, sl2($gp) !tlsgd!2 |
| 48 | ldq $27, __tls_get_addr($gp) !literal!2 |
| 49 | jsr $26, ($27), __tls_get_addr !lituse_tlsgd!2 |
| 50 | ldgp $gp, 0($26) |
| 51 | |
| 52 | /* LD */ |
| 53 | lda $16, sl1($gp) !tlsldm!3 |
| 54 | ldq $27, __tls_get_addr($gp) !literal!3 |
| 55 | jsr $26, ($27), __tls_get_addr !lituse_tlsldm!3 |
| 56 | ldgp $gp, 0($26) |
| 57 | lda $1, sl1+1($0) !dtprel |
| 58 | |
| 59 | /* LD with 4 variables */ |
| 60 | lda $16, sh1($gp) !tlsldm!4 |
| 61 | ldq $27, __tls_get_addr($gp) !literal!4 |
| 62 | jsr $26, ($27), __tls_get_addr !lituse_tlsldm!4 |
| 63 | ldgp $gp, 0($26) |
| 64 | lda $1, sh1($0) !dtprel |
| 65 | lda $1, sh2+2($0) !dtprel |
| 66 | ldah $1, sh3+3($0) !dtprelhi |
| 67 | lda $1, sh3+3($1) !dtprello |
| 68 | ldq $1, sh4+10($gp) !gotdtprel |
| 69 | addq $1, $0, $1 |
| 70 | |
| 71 | ldq $26, 0($sp) |
| 72 | addq $sp, 16, $sp |
| 73 | ret |
| 74 | .end fn2 |