Home | History | Annotate | Download | only in ld-alpha
      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 	.text
     30 	.globl	fn1
     31 	.ent	fn1
     32 fn1:
     33 	.frame	$sp, 16, $26, 0
     34 	ldgp	$gp, 0($27)
     35 	subq	$sp, 16, $sp
     36 	stq	$26, 0($sp)
     37 	stq	$9, 8($sp)
     38 	.prologue 1
     39 
     40 	rduniq
     41 	mov	$0, $9
     42 
     43 	/* GD */
     44 	lda	$16, sg1($gp)			!tlsgd!1
     45 	ldq	$27, __tls_get_addr($gp)	!literal!1
     46 	jsr	$26, ($27), __tls_get_addr	!lituse_tlsgd!1
     47 	ldgp	$gp, 0($26)
     48 
     49 	/* GD against hidden symbol */
     50 	lda	$16, sh2($gp)			!tlsgd!2
     51 	ldq	$27, __tls_get_addr($gp)	!literal!2
     52 	jsr	$26, ($27), __tls_get_addr	!lituse_tlsgd!2
     53 	ldgp	$gp, 0($26)
     54 
     55 	/* LD */
     56 	lda	$16, sl1($gp)			!tlsldm!3
     57 	ldq	$27, __tls_get_addr($gp)	!literal!3
     58 	jsr	$26, ($27), __tls_get_addr	!lituse_tlsldm!3
     59 	ldgp	$gp, 0($26)
     60 	lda	$1, sl1+1($0)			!dtprel
     61 
     62 	/* LD with 4 variables */
     63 	lda	$16, sh1($gp)			!tlsldm!4
     64 	ldq	$27, __tls_get_addr($gp)	!literal!4
     65 	jsr	$26, ($27), __tls_get_addr	!lituse_tlsldm!4
     66 	ldgp	$gp, 0($26)
     67 	lda	$1, sh1($0)			!dtprel
     68 	lda	$1, sH1+2($0)			!dtprel
     69 	ldah	$1, sh5+3($0)			!dtprelhi
     70 	lda	$1, sh5+3($1)			!dtprello
     71 	ldq	$1, sH5+1($gp)			!gotdtprel
     72 	addq	$1, $0, $1
     73 
     74 	/* IE against global */
     75 	ldq	$1, sg2($gp)			!gottprel
     76 	addq	$1, $9, $1
     77 
     78 	/* IE against local and hidden */
     79 	ldq	$1, sl2($gp)			!gottprel
     80 	ldq	$2, sh2($gp)			!gottprel
     81 	addq	$1, $9, $1
     82 	addq	$2, $9, $2
     83 
     84 	ldq	$26, 0($sp)
     85 	addq	$sp, 16, $sp
     86 	ret
     87 	.end	fn1
     88