Home | History | Annotate | Download | only in ld-xtensa
      1 	.section ".tdata", "awT", @progbits
      2 	.global sg1, sg2, sg3, sg4, sg5, sg6, sg7, sg8
      3 	.global sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8
      4 	.hidden sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8
      5 	.align	4
      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	157
     23 sh2:	.long	158
     24 sh3:	.long	159
     25 sh4:	.long	160
     26 sh5:	.long	161
     27 sh6:	.long	162
     28 sh7:	.long	163
     29 sh8:	.long	164
     30 
     31 	.text
     32 	.global	_start
     33 	.type	_start, @function
     34 _start:
     35 	entry	sp, 32
     36 
     37 	/* GD */
     38 	movi	a8, sg1@tlsfunc
     39 	movi	a10, sg1@tlsarg
     40 	callx8.tls a8, sg1@tlscall
     41 
     42 	/* GD -> IE because variable is referenced through IE too */
     43 	movi	a8, sg2@tlsfunc
     44 	movi	a10, sg2@tlsarg
     45 	callx8.tls a8, sg2@tlscall
     46 
     47 	/* GD against local variable */
     48 	movi	a8, sl1@tlsfunc
     49 	movi	a10, sl1@tlsarg
     50 	callx8.tls a8, sl1@tlscall
     51 
     52 	/* GD -> IE against local variable referenced through IE too */
     53 	movi	a8, sl2@tlsfunc
     54 	movi	a10, sl2@tlsarg
     55 	callx8.tls a8, sl2@tlscall
     56 
     57 	/* GD against hidden and local variable */
     58 	movi	a8, sh1@tlsfunc
     59 	movi	a10, sh1@tlsarg
     60 	callx8.tls a8, sh1@tlscall
     61 
     62 	/* GD -> IE against hidden and local variable referenced through
     63 	   IE too */
     64 	movi	a8, sh2@tlsfunc
     65 	movi	a10, sh2@tlsarg
     66 	callx8.tls a8, sh2@tlscall
     67 
     68 	/* GD against hidden but not local variable */
     69 	movi	a8, sH1@tlsfunc
     70 	movi	a10, sH1@tlsarg
     71 	callx8.tls a8, sH1@tlscall
     72 
     73 	/* GD -> IE against hidden but not local variable referenced through
     74 	   IE too */
     75 	movi	a8, sH2@tlsfunc
     76 	movi	a10, sH2@tlsarg
     77 	callx8.tls a8, sH2@tlscall
     78 
     79 	/* LD */
     80 	movi   a8, _TLS_MODULE_BASE_@tlsfunc
     81 	movi   a10, _TLS_MODULE_BASE_@tlsarg
     82 	callx8.tls a8, _TLS_MODULE_BASE_@tlscall
     83 	movi   a12, sl1@dtpoff
     84 	add    a12, a12, a10
     85 	movi   a13, 2+sl2@dtpoff
     86 	add    a13, a13, a10
     87 
     88 	/* LD against hidden and local variables */
     89 	movi   a12, sh1@dtpoff
     90 	add    a12, a12, a10
     91 	movi   a13, sh2@dtpoff+3
     92 	add    a13, a13, a10
     93 
     94 	/* LD against hidden but not local variables */
     95 	movi   a12, sH1@dtpoff
     96 	add    a12, a12, a10
     97 	movi   a13, sH2@dtpoff+1
     98 	add    a13, a13, a10
     99 
    100 	/* IE against global var */
    101 	rur	a2, THREADPTR
    102 	movi	a3, sg2@tpoff
    103 	add	a3, a3, a2
    104 
    105 	/* IE against local var  */
    106 	rur	a4, THREADPTR
    107 	movi	a5, sl2@tpoff
    108 	add	a5, a5, a4
    109 
    110 	/* IE against hidden and local var  */
    111 	rur	a6, THREADPTR
    112 	movi	a7, sh2@tpoff
    113 	add	a7, a7, a6
    114 
    115 	/* IE against hidden but not local var  */
    116 	rur	a8, THREADPTR
    117 	movi	a9, sH2@tpoff
    118 	add	a9, a9, a8
    119 
    120 	retw
    121