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.
76 lines
3.0 KiB
Plaintext
76 lines
3.0 KiB
Plaintext
#source: tlsbinpic.s
|
|
#source: tlsbin.s
|
|
#as:
|
|
#ld: -shared -melf64_ia64
|
|
#objdump: -drj.text
|
|
#target: ia64-*-*
|
|
|
|
.*: +file format elf64-ia64-little
|
|
|
|
Disassembly of section .text:
|
|
|
|
40+1000 <fn2>:
|
|
40+1000: 10 10 15 06 80 05[ ]+\[MIB\][ ]+alloc r34=ar.pfs,5,3,0
|
|
40+1006: 10 02 00 62 00 00[ ]+mov r33=b0
|
|
40+100c: 00 00 00 20[ ]+nop.b 0x0
|
|
40+1010: 0d 70 80 02 00 24[ ]+\[MFI\][ ]+addl r14=32,r1
|
|
40+1016: 00 00 00 02 00 e0[ ]+nop.f 0x0
|
|
40+101c: 81 0a 00 90[ ]+addl r15=40,r1;;
|
|
40+1020: 19 18 01 1c 18 10[ ]+\[MMB\][ ]+ld8 r35=\[r14\]
|
|
40+1026: 40 02 3c 30 20 00[ ]+ld8 r36=\[r15\]
|
|
40+102c: e8 f3 ff 58[ ]+br.call.sptk.many b0=[0-9a-f]+ <.*>;;
|
|
40+1030: 0d 70 c0 02 00 24[ ]+\[MFI\][ ]+addl r14=48,r1
|
|
40+1036: 00 00 00 02 00 e0[ ]+nop.f 0x0
|
|
40+103c: 01 0c 00 90[ ]+addl r15=64,r1;;
|
|
40+1040: 19 18 01 1c 18 10[ ]+\[MMB\][ ]+ld8 r35=\[r14\]
|
|
40+1046: 40 02 3c 30 20 00[ ]+ld8 r36=\[r15\]
|
|
40+104c: c8 f3 ff 58[ ]+br.call.sptk.many b0=[0-9a-f]+ <.*>;;
|
|
40+1050: 0d 70 c0 02 00 24[ ]+\[MFI\][ ]+addl r14=48,r1
|
|
40+1056: 00 00 00 02 00 80[ ]+nop.f 0x0
|
|
40+105c: 14 02 00 90[ ]+mov r36=33;;
|
|
40+1060: 1d 18 01 1c 18 10[ ]+\[MFB\][ ]+ld8 r35=\[r14\]
|
|
40+1066: 00 00 00 02 00 00[ ]+nop.f 0x0
|
|
40+106c: a8 f3 ff 58[ ]+br.call.sptk.many b0=[0-9a-f]+ <.*>;;
|
|
40+1070: 0d 70 c0 02 00 24[ ]+\[MFI\][ ]+addl r14=48,r1
|
|
40+1076: 00 00 00 02 00 80[ ]+nop.f 0x0
|
|
40+107c: 04 00 00 84[ ]+mov r36=r0;;
|
|
40+1080: 1d 18 01 1c 18 10[ ]+\[MFB\][ ]+ld8 r35=\[r14\]
|
|
40+1086: 00 00 00 02 00 00[ ]+nop.f 0x0
|
|
40+108c: 88 f3 ff 58[ ]+br.call.sptk.many b0=[0-9a-f]+ <.*>;;
|
|
40+1090: 0b 10 00 10 00 21[ ]+\[MMI\][ ]+mov r2=r8;;
|
|
40+1096: e0 00 0a 00 48 e0[ ]+addl r14=64,r2
|
|
40+109c: 61 14 00 90[ ]+addl r15=70,r2;;
|
|
40+10a0: 05 70 2c 11 00 21[ ]+\[MLX\][ ]+adds r14=75,r8
|
|
40+10a6: 00 00 00 00 00 e0[ ]+movl r15=0x4d;;
|
|
40+10ac: d1 04 00 60
|
|
40+10b0: 0a 78 3c 10 00 20[ ]+\[MMI\][ ]+add r15=r15,r8;;
|
|
40+10b6: 00 00 00 02 00 00[ ]+nop.m 0x0
|
|
40+10bc: 20 02 aa 00[ ]+mov.i ar.pfs=r34
|
|
40+10c0: 11 00 00 00 01 00[ ]+\[MIB\][ ]+nop.m 0x0
|
|
40+10c6: 00 08 05 80 03 80[ ]+mov b0=r33
|
|
40+10cc: 08 00 84 00[ ]+br.ret.sptk.many b0;;
|
|
#...
|
|
|
|
40+2000 <_start>:
|
|
40+2000: 0b 70 60 02 00 24[ ]+\[MMI\][ ]+addl r14=24,r1;;
|
|
40+2006: e0 00 38 30 20 00[ ]+ld8 r14=\[r14\]
|
|
40+200c: 00 00 04 00[ ]+nop.i 0x0;;
|
|
40+2010: 0b 70 38 1a 00 20[ ]+\[MMI\][ ]+add r14=r14,r13;;
|
|
40+2016: e0 c0 05 00 48 00[ ]+addl r14=56,r1
|
|
40+201c: 00 00 04 00[ ]+nop.i 0x0;;
|
|
40+2020: 0b 70 00 1c 18 10[ ]+\[MMI\][ ]+ld8 r14=\[r14\];;
|
|
40+2026: e0 70 34 00 40 00[ ]+add r14=r14,r13
|
|
40+202c: 00 00 04 00[ ]+nop.i 0x0;;
|
|
40+2030: 0b 10 00 1a 00 21[ ]+\[MMI\][ ]+mov r2=r13;;
|
|
40+2036: e0 80 08 00 48 e0[ ]+addl r14=16,r2
|
|
40+203c: 61 11 04 90[ ]+addl r15=150,r2;;
|
|
40+2040: 05 70 5c 1b 00 21[ ]+\[MLX\][ ]+adds r14=87,r13
|
|
40+2046: 00 00 00 00 00 e0[ ]+movl r15=0x95;;
|
|
40+204c: 51 01 04 60
|
|
40+2050: 0a 78 3c 1a 00 20[ ]+\[MMI\][ ]+add r15=r15,r13;;
|
|
40+2056: 00 00 00 02 00 00[ ]+nop.m 0x0
|
|
40+205c: 00 00 04 00[ ]+nop.i 0x0
|
|
40+2060: 1d 00 00 00 01 00[ ]+\[MFB\][ ]+nop.m 0x0
|
|
40+2066: 00 00 00 02 00 80[ ]+nop.f 0x0
|
|
40+206c: 08 00 84 00[ ]+br.ret.sptk.many b0;;
|