1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
  
     | 
    
      // RUN: llvm-mc -filetype=obj -triple mipsel-unknown-linux %s -o - | llvm-readobj -r - | FileCheck %s
// Check that the appropriate relocations were created.
// CHECK: Relocations [
// CHECK:   Section {{.*}} .rel.text {
// CHECK:     R_MIPS_TLS_LDM
// CHECK:     R_MIPS_TLS_DTPREL_HI16
// CHECK:     R_MIPS_TLS_DTPREL_LO16
// CHECK:   }
// CHECK: ]
	.text
	.abicalls
	.section	.mdebug.abi32,"",@progbits
	.file	"/home/espindola/llvm/llvm/test/MC/Mips/elf-tls.ll"
	.text
	.globl	f1
	.align	2
	.type	f1,@function
	.set	nomips16
	.ent	f1
f1:                                     # @f1
	.frame	$sp,24,$ra
	.mask 	0x80000000,-4
	.fmask	0x00000000,0
	.set	noreorder
	.set	nomacro
	.set	noat
# %bb.0:                                # %entry
	lui	$2, %hi(_gp_disp)
	addiu	$2, $2, %lo(_gp_disp)
	addiu	$sp, $sp, -24
	sw	$ra, 20($sp)            # 4-byte Folded Spill
	addu	$gp, $2, $25
	lw	$25, %call16(__tls_get_addr)($gp)
	jalr	$25
	addiu	$4, $gp, %tlsgd(t1)
	lw	$2, 0($2)
	lw	$ra, 20($sp)            # 4-byte Folded Reload
	jr	$ra
	addiu	$sp, $sp, 24
	.set	at
	.set	macro
	.set	reorder
	.end	f1
$tmp0:
	.size	f1, ($tmp0)-f1
	.globl	f2
	.align	2
	.type	f2,@function
	.set	nomips16
	.ent	f2
f2:                                     # @f2
	.frame	$sp,24,$ra
	.mask 	0x80000000,-4
	.fmask	0x00000000,0
	.set	noreorder
	.set	nomacro
	.set	noat
# %bb.0:                                # %entry
	lui	$2, %hi(_gp_disp)
	addiu	$2, $2, %lo(_gp_disp)
	addiu	$sp, $sp, -24
	sw	$ra, 20($sp)            # 4-byte Folded Spill
	addu	$gp, $2, $25
	lw	$25, %call16(__tls_get_addr)($gp)
	jalr	$25
	addiu	$4, $gp, %tlsgd(t2)
	lw	$2, 0($2)
	lw	$ra, 20($sp)            # 4-byte Folded Reload
	jr	$ra
	addiu	$sp, $sp, 24
	.set	at
	.set	macro
	.set	reorder
	.end	f2
$tmp1:
	.size	f2, ($tmp1)-f2
	.globl	f3
	.align	2
	.type	f3,@function
	.set	nomips16
	.ent	f3
f3:                                     # @f3
	.frame	$sp,24,$ra
	.mask 	0x80000000,-4
	.fmask	0x00000000,0
	.set	noreorder
	.set	nomacro
	.set	noat
# %bb.0:                                # %entry
	lui	$2, %hi(_gp_disp)
	addiu	$2, $2, %lo(_gp_disp)
	addiu	$sp, $sp, -24
	sw	$ra, 20($sp)            # 4-byte Folded Spill
	addu	$gp, $2, $25
	lw	$25, %call16(__tls_get_addr)($gp)
	jalr	$25
	addiu	$4, $gp, %tlsldm(f3.i)
	lui	$1, %dtprel_hi(f3.i)
	addu	$1, $1, $2
	lw	$2, %dtprel_lo(f3.i)($1)
	addiu	$2, $2, 1
	sw	$2, %dtprel_lo(f3.i)($1)
	lw	$ra, 20($sp)            # 4-byte Folded Reload
	jr	$ra
	addiu	$sp, $sp, 24
	.set	at
	.set	macro
	.set	reorder
	.end	f3
$tmp2:
	.size	f3, ($tmp2)-f3
	.type	t1,@object              # @t1
	.section	.tbss,"awT",@nobits
	.globl	t1
	.align	2
t1:
	.4byte	0                       # 0x0
	.size	t1, 4
	.type	f3.i,@object            # @f3.i
	.section	.tdata,"awT",@progbits
	.align	2
f3.i:
	.4byte	1                       # 0x1
	.size	f3.i, 4
	.text
 
     |