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 	.hidden sh1, sh2
      7 sg1:	.long 17
      8 sg2:	.long 18
      9 sg3:	.long 19
     10 sg4:	.long 20
     11 sg5:	.long 21
     12 sg6:	.long 22
     13 sg7:	.long 23
     14 sg8:	.long 24
     15 sl1:	.long 65
     16 sl2:	.long 66
     17 sl3:	.long 67
     18 sl4:	.long 68
     19 sl5:	.long 69
     20 sl6:	.long 70
     21 sl7:	.long 71
     22 sl8:	.long 72
     23 sh1:	.long 257
     24 sh2:	.long 258
     25 sh3:	.long 259
     26 sh4:	.long 260
     27 sh5:	.long 261
     28 sh6:	.long 262
     29 sh7:	.long 263
     30 sh8:	.long 264
     31 	.text
     32 	.globl	fn2
     33 	.type	fn2,@function
     34 	.balign	64
     35 fn2:
     36 	/* Function prolog */
     37 	stm	%r6,%r14,24(%r15)
     38 	bras	%r13,.LTN1
     39 	/* Literal pool */
     40 .LT1:
     41 .LC0:
     42 	.long	_GLOBAL_OFFSET_TABLE_-.LT1
     43 .LC1:
     44 	.long	__tls_get_offset@plt-.LT1
     45 .LC2:
     46 	.long	sG1@tlsgd
     47 .LC3:
     48 	.long	sG2@tlsgd
     49 .LC4:
     50 	.long	sg1@tlsgd
     51 .LC5:
     52 	.long	sl1@tlsgd
     53 .LC6:
     54 	.long	sh1@tlsgd
     55 .LC7:
     56 	.long	sl1@tlsldm
     57 .LC8:
     58 	.long	sl1@dtpoff
     59 .LC9:
     60 	.long	sl2@dtpoff
     61 .LC10:
     62 	.long	sh1@tlsldm
     63 .LC11:
     64 	.long	sh1@dtpoff
     65 .LC12:
     66 	.long	sh2@dtpoff
     67 .LC13:
     68 	.long	sG2@gotntpoff
     69 .LC14:
     70 	.long	sg1@gotntpoff
     71 .LC15:
     72 	.long	sl1@gotntpoff
     73 .LC16:
     74 	.long	sh1@gotntpoff
     75 .LTN1:
     76 	/* Function prolog */
     77 	lr	%r14,%r15
     78 	l	%r12,.LC0-.LT1(%r13)
     79 	ahi	%r15,-96
     80 	la	%r12,0(%r12,%r13)
     81 	st	%r14,0(%r14)
     82 
     83 	/* Extract TCB and load branch offset */
     84 	ear	%r9,%a0
     85 	l	%r7,.LC1-.LT1(%r13)
     86 
     87 	/* GD -> IE because variable is not defined in executable */
     88 	l	%r2,.LC2-.LT1(%r13)
     89 	bas	%r14,0(%r7,%r13):tls_gdcall:sG1
     90 	la	%r2,0(%r2,%r9)
     91 
     92 	/* GD -> IE because variable is not defined in executable where
     93 	   the variable is referenced through IE too */
     94 	l	%r2,.LC3-.LT1(%r13)
     95 	bas	%r14,0(%r7,%r13):tls_gdcall:sG2
     96 	la	%r2,0(%r2,%r9)
     97 
     98 	/* GD -> LE with global variable defined in executable */
     99 	l	%r2,.LC4-.LT1(%r13)
    100 	bas	%r14,0(%r7,%r13):tls_gdcall:sg1
    101 	la	%r2,0(%r2,%r9)
    102 
    103 	/* GD -> LE with local variable defined in executable */
    104 	l	%r2,.LC5-.LT1(%r13)
    105 	bas	%r14,0(%r7,%r13):tls_gdcall:sl1
    106 	la	%r2,0(%r2,%r9)
    107 
    108 	/* GD -> LE with hidden variable defined in executable */
    109 	l	%r2,.LC6-.LT1(%r13)
    110 	bas	%r14,0(%r7,%r13):tls_gdcall:sh1
    111 	la	%r2,0(%r2,%r9)
    112 
    113 	/* LD -> LE */
    114 	l	%r2,.LC7-.LT1(%r13)
    115 	bas	%r14,0(%r7,%r13):tls_ldcall:sl1
    116 	la	%r3,0(%r2,%r9)
    117 	l	%r4,.LC8-.LT1(%r13)
    118 	la	%r5,0(%r4,%r3)
    119 	l	%r4,.LC9-.LT1(%r13)
    120 	la	%r5,0(%r4,%r3)
    121 
    122 	/* LD -> LE against hidden variables */
    123 	l	%r2,.LC10-.LT1(%r13)
    124 	bas	%r14,0(%r7,%r13):tls_ldcall:sh1
    125 	la	%r3,0(%r2,%r9)
    126 	l	%r4,.LC11-.LT1(%r13)
    127 	la	%r5,0(%r4,%r3)
    128 	l	%r4,.LC12-.LT1(%r13)
    129 	la	%r5,0(%r4,%r3)
    130 
    131 	/* IE against global var  */
    132 	l	%r3,.LC13-.LT1(%r13)
    133 	l	%r3,0(%r3,%r12):tls_load:sG2
    134 	l	%r3,0(%r3,%r9)
    135 
    136 	/* IE -> LE against global var defined in exec */
    137 	l	%r3,.LC14-.LT1(%r13)
    138 	l	%r4,0(%r3,%r12):tls_load:sg1
    139 	la	%r5,0(%r4,%r9)
    140 
    141 	/* IE -> LE against local var */
    142 	l	%r3,.LC15-.LT1(%r13)
    143 	l	%r4,0(%r3,%r12):tls_load:sl1
    144 	la	%r5,0(%r4,%r9)
    145 
    146 	/* IE -> LE against hidden var */
    147 	l	%r3,.LC16-.LT1(%r13)
    148 	l	%r4,0(%r3,%r12):tls_load:sh1
    149 	la	%r5,0(%r4,%r9)
    150 
    151 	/* IE against global var with small got access (no optimization) */
    152 	l	%r3,sG3@gotntpoff(%r12)
    153 	la	%r3,0(%r3,%r9)
    154 
    155 	/* IE against global var defined in exec with small got access
    156 	   (no optimization) */
    157 	l	%r3,sg3@gotntpoff(%r12)
    158 	la	%r3,0(%r3,%r9)
    159 
    160 	/* IE against local var with small got access (no optimization) */
    161 	l	%r3,sl3@gotntpoff(%r12)
    162 	la	%r3,0(%r3,%r9)
    163 
    164 	/* IE against hidden var with small got access (no optimization) */
    165 	l	%r3,sh3@gotntpoff(%r12)
    166 	la	%r3,0(%r3,%r9)
    167 
    168 	/* Function epilog */
    169 	lm	%r6,%r14,120(%r15)
    170 	br	%r14
    171