b3dfd7fe24
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.
53 lines
836 B
ArmAsm
53 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#
|