Home | History | Annotate | Download | only in ld-s390
      1 	.section ".tdata", "awT", @progbits
      2 	.balign 32
      3 	.globl sg1, sg2, sg3, sg4, sg5, sg6, sg7, sg8
      4 	.globl sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8
      5 	.hidden sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8
      6 sg1:	.long 17
      7 sg2:	.long 18
      8 sg3:	.long 19
      9 sg4:	.long 20
     10 sg5:	.long 21
     11 sg6:	.long 22
     12 sg7:	.long 23
     13 sg8:	.long 24
     14 sl1:	.long 65
     15 sl2:	.long 66
     16 sl3:	.long 67
     17 sl4:	.long 68
     18 sl5:	.long 69
     19 sl6:	.long 70
     20 sl7:	.long 71
     21 sl8:	.long 72
     22 sh1:	.long 257
     23 sh2:	.long 258
     24 sh3:	.long 259
     25 sh4:	.long 260
     26 sh5:	.long 261
     27 sh6:	.long 262
     28 sh7:	.long 263
     29 sh8:	.long 264
     30 	.text
     31 	.globl	fn1
     32 	.type	fn1,@function
     33 	.balign	64
     34 fn1:
     35 	/* Funtion prolog */
     36 	stmg	%r6,%r14,48(%r15)
     37 	bras	%r13,.LTN1
     38 	/* Literal pool */
     39 .LT1:
     40 .LC2:
     41 	.quad	sg1@tlsgd
     42 .LC3:
     43 	.quad	sg2@tlsgd
     44 .LC4:
     45 	.quad	sl1@tlsgd
     46 .LC5:
     47 	.quad	sl2@tlsgd
     48 .LC6:
     49 	.quad	sh1@tlsgd
     50 .LC7:
     51 	.quad	sh2@tlsgd
     52 .LC8:
     53 	.quad	sH1@tlsgd
     54 .LC9:
     55 	.quad	sH2@tlsgd
     56 .LC10:
     57 	.quad	sl1@tlsldm
     58 .LC11:
     59 	.quad	sl1@dtpoff
     60 .LC12:
     61 	.quad	sl2@dtpoff
     62 .LC13:
     63 	.quad	sh1@tlsldm
     64 .LC14:
     65 	.quad	sh1@dtpoff
     66 .LC15:
     67 	.quad	sh2@dtpoff
     68 .LC16:
     69 	.quad	sH1@tlsldm
     70 .LC17:
     71 	.quad	sH1@dtpoff
     72 .LC18:
     73 	.quad	sH2@dtpoff
     74 .LC19:
     75 	.quad	sg2@gotntpoff
     76 .LC20:
     77 	.quad	sl2@gotntpoff
     78 .LC21:
     79 	.quad	sh2@gotntpoff
     80 .LC22:
     81 	.quad	sH2@gotntpoff
     82 .LTN1:
     83 	/* Funtion prolog */
     84 	lgr	%r14,%r15
     85 	larl	%r12,_GLOBAL_OFFSET_TABLE_
     86 	aghi	%r15,-160
     87 	stg	%r14,0(%r14)
     88 
     89 	/* Extract TCB */
     90 	ear	%r9,%a0
     91 	sllg	%r9,%r4,32
     92 	ear	%r9,%a1
     93 
     94 	/* GD */
     95 	lg	%r2,.LC2-.LT1(%r13)
     96 	brasl	%r14,__tls_get_offset@plt:tls_gdcall:sg1
     97 	la	%r2,0(%r2,%r9)
     98 
     99 	/* GD -> IE because variable is referenced through IE too */
    100 	lg	%r2,.LC3-.LT1(%r13)
    101 	brasl	%r14,__tls_get_offset@plt:tls_gdcall:sg2
    102 	la	%r2,0(%r2,%r9)
    103 
    104 	/* GD against local variable */
    105 	lg	%r2,.LC4-.LT1(%r13)
    106 	brasl	%r14,__tls_get_offset@plt:tls_gdcall:sl1
    107 	la	%r2,0(%r2,%r9)
    108 
    109 	/* GD -> IE against local variable referenced through IE too */
    110 	lg	%r2,.LC5-.LT1(%r13)
    111 	brasl	%r14,__tls_get_offset@plt:tls_gdcall:sl2
    112 	la	%r2,0(%r2,%r9)
    113 
    114 	/* GD against hidden and local variable */
    115 	lg	%r2,.LC6-.LT1(%r13)
    116 	brasl	%r14,__tls_get_offset@plt:tls_gdcall:sh1
    117 	la	%r2,0(%r2,%r9)
    118 
    119 	/* GD -> IE against hidden and local variable referenced through
    120 	   IE too */
    121 	lg	%r2,.LC7-.LT1(%r13)
    122 	brasl	%r14,__tls_get_offset@plt:tls_gdcall:sh2
    123 	la	%r2,0(%r2,%r9)
    124 
    125 	/* GD against hidden but not local variable */
    126 	lg	%r2,.LC8-.LT1(%r13)
    127 	brasl	%r14,__tls_get_offset@plt:tls_gdcall:sH1
    128 	la	%r2,0(%r2,%r9)
    129 
    130 	/* GD -> IE against hidden but not local variable referenced through
    131 	   IE too */
    132 	lg	%r2,.LC9-.LT1(%r13)
    133 	brasl	%r14,__tls_get_offset@plt:tls_gdcall:sH2
    134 	la	%r2,0(%r2,%r9)
    135 
    136 	/* LD */
    137 	lg	%r2,.LC10-.LT1(%r13)
    138 	brasl	%r14,__tls_get_offset@plt:tls_ldcall:sl1
    139 	la	%r3,0(%r2,%r9)
    140 	lg	%r4,.LC11-.LT1(%r13)
    141 	la	%r5,0(%r4,%r3)
    142 	lg	%r4,.LC12-.LT1(%r13)
    143 	la	%r5,0(%r4,%r3)
    144 
    145 	/* LD against hidden and local variables */
    146 	lg	%r2,.LC13-.LT1(%r13)
    147 	brasl	%r14,__tls_get_offset@plt:tls_ldcall:sh1
    148 	la	%r3,0(%r2,%r9)
    149 	lg	%r4,.LC14-.LT1(%r13)
    150 	la	%r5,0(%r4,%r3)
    151 	lg	%r4,.LC15-.LT1(%r13)
    152 	la	%r5,0(%r4,%r3)
    153 
    154 	/* LD against hidden but not local variables */
    155 	lg	%r2,.LC16-.LT1(%r13)
    156 	brasl	%r14,__tls_get_offset@plt:tls_ldcall:sH1
    157 	la	%r3,0(%r2,%r9)
    158 	lg	%r4,.LC17-.LT1(%r13)
    159 	la	%r5,0(%r4,%r3)
    160 	lg	%r4,.LC18-.LT1(%r13)
    161 	la	%r5,0(%r4,%r3)
    162 
    163 	/* IE against global var  */
    164 	lg	%r3,.LC19-.LT1(%r13)
    165 	lg	%r3,0(%r3,%r12):tls_load:sg2
    166 	la	%r3,0(%r3,%r9)
    167 
    168 	/* IE against local var  */
    169 	lg	%r3,.LC20-.LT1(%r13)
    170 	lg	%r4,0(%r3,%r12):tls_load:sl2
    171 	la	%r5,0(%r4,%r9)
    172 
    173 	/* IE against hidden and local var  */
    174 	lg	%r3,.LC21-.LT1(%r13)
    175 	lg	%r4,0(%r3,%r12):tls_load:sh2
    176 	la	%r5,0(%r4,%r9)
    177 
    178 	/* IE against hidden but not local var  */
    179 	lg	%r3,.LC22-.LT1(%r13)
    180 	lg	%r4,0(%r3,%r12):tls_load:sH2
    181 	la	%r5,0(%r4,%r9)
    182 
    183 	/* IE against global var with larl got access */
    184 	larl	%r3,sg5@indntpoff
    185 	lg	%r3,0(%r3,%r12):tls_load:sg2
    186 	la	%r3,0(%r3,%r9)
    187 
    188 	/* IE against local var with larl got access */
    189 	larl	%r3,sl5@indntpoff
    190 	lg	%r4,0(%r3,%r12):tls_load:sl2
    191 	la	%r5,0(%r4,%r9)
    192 
    193 	/* IE against hidden and local var with larl got access */
    194 	larl	%r3,sh5@indntpoff
    195 	lg	%r4,0(%r3,%r12):tls_load:sh2
    196 	la	%r5,0(%r4,%r9)
    197 
    198 	/* IE against hidden but not local var with larl got access */
    199 	larl	%r3,sH5@indntpoff
    200 	lg	%r4,0(%r3,%r12):tls_load:sH2
    201 	la	%r5,0(%r4,%r9)
    202 
    203 	/* IE against global var with small got access (no optimization) */
    204 	lg	%r3,sg5@gotntpoff(%r12)
    205 	la	%r3,0(%r3,%r9)
    206 
    207 	/* IE against local var with small got access (no optimization) */
    208 	lg	%r3,sl5@gotntpoff(%r12)
    209 	la	%r3,0(%r3,%r9)
    210 
    211 	/* IE against hidden and local var with small got access
    212 	   (no optimization) */
    213 	lg	%r3,sh5@gotntpoff(%r12)
    214 	la	%r3,0(%r3,%r9)
    215 
    216 	/* IE against hidden but not local var with small got access
    217 	   (no optimization) */
    218 	lg	%r3,sH5@gotntpoff(%r12)
    219 	la	%r3,0(%r3,%r9)
    220 
    221 	/* Function epilog */
    222 	lmg	%r6,%r14,208(%r15)
    223 	br	%r14
    224 
    225