binutils-gdb/ld/testsuite/ld-ia64/tlsbin.s
Jakub Jelinek b3dfd7fe24 * elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add
self_dtpmod_done and self_dtpmod_offset.
	(allocate_global_data_got): Only use one got entry for all
	dtpmod relocs against local symbols.
	(allocate_dynrel_entries): Only need .rela.got entry for
	dtpmod against global symbol.
	(elfNN_ia64_size_dynamic_sections): Initialize self_dtpmod_offset.
	Reserve space in .rela.got for the local dtpmod entry.
	(set_got_entry): Initialize the common local dtpmod .got entry.
	(elfNN_ia64_relocate_section): Handle R_IA_64_DTPREL64LSB
	and R_IA_64_DTPREL64MSB.

	* config/tc-ia64.c (ia64_cons_fix_new): Handle @dtprel() in data.

	* ld-ia64/ia64.exp: New.
	* ld-ia64/tlsbin.dd: New test.
	* ld-ia64/tlsbinpic.s: New test.
	* ld-ia64/tlsbin.rd: New test.
	* ld-ia64/tlsbin.s: New test.
	* ld-ia64/tlsbin.sd: New test.
	* ld-ia64/tlsbin.td: New test.
	* ld-ia64/tlsg.s: New test.
	* ld-ia64/tlsg.sd: New test.
	* ld-ia64/tlslib.s: New test.
	* ld-ia64/tlspic1.s: New test.
	* ld-ia64/tlspic2.s: New test.
	* ld-ia64/tlspic.dd: New test.
	* ld-ia64/tlspic.rd: New test.
	* ld-ia64/tlspic.sd: New test.
	* ld-ia64/tlspic.td: New test.
2003-01-16 21:31:18 +00:00

54 lines
836 B
ArmAsm

.section ".tbss", "awT", @nobits
.globl bg1, bg2, bg3, bg4, bg5, bg6, bg7, bg8
bg1: .space 4
bg2: .space 4
bg3: .space 4
bg4: .space 4
bg5: .space 4
bg6: .space 4
bg7: .space 4
bg8: .space 4
bl1: .space 4
bl2: .space 4
bl3: .space 4
bl4: .space 4
bl5: .space 4
bl6: .space 4
bl7: .space 4
bl8: .space 4
.pred.safe_across_calls p1-p5,p16-p63
.text
.globl _start#
.proc _start#
_start:
/* IE */
addl r14 = @ltoff(@tprel(sG2#)), gp
;;
ld8 r14 = [r14]
;;
add r14 = r14, r13
;;
/* IE against global symbol in exec */
addl r14 = @ltoff(@tprel(bl1#)), gp
;;
ld8 r14 = [r14]
;;
add r14 = r14, r13
;;
/* LE */
mov r2 = r13
;;
addl r14 = @tprel(sg1#), r2
addl r15 = @tprel(bl2#) + 2, r2
;;
adds r14 = @tprel(sh2#) + 3, r13
movl r15 = @tprel(bl2#) + 1
;;
add r15 = r15, r13
;;
br.ret.sptk.many b0
.endp _start#