5d6696482a
2007-04-26 H.J. Lu <hongjiu.lu@intel.com> PR binutils/4430 * gas/i386/amd.d: Updated. * gas/i386/immed32.d: Likewise. * gas/i386/intel.d: Likewise. * gas/i386/intel16.d: Likewise. * gas/i386/intelok.d: Likewise. * gas/i386/jump16.d: Likewise. * gas/i386/naked.d: Likewise. * gas/i386/opcode-suffix.d: Likewise. * gas/i386/opcode.d: Likewise. * gas/i386/prescott.d: Likewise. * gas/i386/ssemmx2.d: Likewise. * gas/i386/tlsd.d: Likewise. * gas/i386/tlspic.d: Likewise. * gas/i386/x86-64-addr32.d: Likewise. * gas/i386/x86-64-prescott.d: Likewise. * gas/i386/x86-64-rip.d: Likewise. * gas/i386/x86_64.d: Likewise. ld/testsuite/ 2007-04-26 H.J. Lu <hongjiu.lu@intel.com> PR binutils/4430 * ld-i386/tlsbin.dd: Updated. * ld-i386/tlsbindesc.dd: Likewise * ld-i386/tlsdesc.dd: Likewise * ld-i386/tlsgdesc.dd: Likewise * ld-i386/tlsnopic.dd: Likewise * ld-i386/tlspic.dd: Likewise * ld-x86-64/tlsbin.dd: Likewise * ld-x86-64/tlsbindesc.dd: Likewise * ld-x86-64/tlsdesc.dd: Likewise * ld-x86-64/tlsgdesc.dd: Likewise * ld-x86-64/tlspic.dd: Likewise opcodes/ 2007-04-26 H.J. Lu <hongjiu.lu@intel.com> PR binutils/4430 * i386-dis.c (print_displacement): New. (OP_E): Call print_displacement instead of print_operand_value to output displacement when either base or index exist. Print the explicit zero displacement in 16bit mode.
163 lines
5.3 KiB
Text
163 lines
5.3 KiB
Text
#source: tlsgdesc.s
|
|
#as: --64
|
|
#ld: -shared -melf_x86_64
|
|
#objdump: -drj.text
|
|
#target: x86_64-*-*
|
|
|
|
.*: +file format elf64-x86-64
|
|
|
|
Disassembly of section .text:
|
|
|
|
0+[0-9a-f]+ <fc1>:
|
|
+[0-9a-f]+: 55[ ]+push %rbp
|
|
+[0-9a-f]+: 48 89 e5[ ]+mov %rsp,%rbp
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
# IE
|
|
+[0-9a-f]+: 64 48 8b 0c 25 00 00[ ]+mov %fs:0x0,%rcx
|
|
+[0-9a-f]+: 00 00 *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 48 03 0d 5e 02 20 00[ ]+add 0x20025e\(%rip\),%rcx +# 200660 <.*>
|
|
# -> R_X86_64_TPOFF64 sG3
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
# IE
|
|
+[0-9a-f]+: 64 48 8b 0c 25 00 00[ ]+mov %fs:0x0,%rcx
|
|
+[0-9a-f]+: 00 00 *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 48 03 0d 68 02 20 00[ ]+add 0x200268\(%rip\),%rcx +# 200680 <.*>
|
|
# -> R_X86_64_TPOFF64 sG4
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
# GD, gd first
|
|
+[0-9a-f]+: 66 48 8d 3d 6c 02 20[ ]+lea 0x20026c\(%rip\),%rdi +# 200690 <.*>
|
|
+[0-9a-f]+: 00 *
|
|
# -> R_X86_64_DTPMOD64 sG1
|
|
+[0-9a-f]+: 66 66 48 e8 9c ff ff[ ]+callq [0-9a-f]+ <.*>
|
|
+[0-9a-f]+: ff[ ]+
|
|
# -> R_X86_64_JUMP_SLOT __tls_get_addr
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 48 8d 05 a1 02 20 00[ ]+lea 0x2002a1\(%rip\),%rax +# 2006d8 <.*>
|
|
# -> R_X86_64_TLSDESC sG1
|
|
+[0-9a-f]+: ff 10[ ]+callq \*\(%rax\)
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
# GD, desc first
|
|
+[0-9a-f]+: 48 8d 05 84 02 20 00[ ]+lea 0x200284\(%rip\),%rax +# 2006c8 <.*>
|
|
# -> R_X86_64_TLSDESC sG2
|
|
+[0-9a-f]+: ff 10[ ]+callq \*\(%rax\)
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 66 48 8d 3d 1e 02 20[ ]+lea 0x20021e\(%rip\),%rdi +# 200670 <.*>
|
|
+[0-9a-f]+: 00 *
|
|
# -> R_X86_64_DTPMOD64 sG2
|
|
+[0-9a-f]+: 66 66 48 e8 6e ff ff[ ]+callq [0-9a-f]+ <.*>
|
|
+[0-9a-f]+: ff[ ]+
|
|
# -> R_X86_64_JUMP_SLOT __tls_get_addr
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
# GD -> IE, gd first, after IE use
|
|
+[0-9a-f]+: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax
|
|
+[0-9a-f]+: 00 00 *
|
|
+[0-9a-f]+: 48 03 05 f2 01 20 00[ ]+add 0x2001f2\(%rip\),%rax +# 200660 <.*>
|
|
# -> R_X86_64_TPOFF64 sG3
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 48 8b 05 e7 01 20 00[ ]+mov 0x2001e7\(%rip\),%rax +# 200660 <.*>
|
|
# -> R_X86_64_TPOFF64 sG3
|
|
+[0-9a-f]+: 66 90[ ]+xchg %ax,%ax
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
# GD -> IE, desc first, after IE use
|
|
+[0-9a-f]+: 48 8b 05 fa 01 20 00[ ]+mov 0x2001fa\(%rip\),%rax +# 200680 <.*>
|
|
# -> R_X86_64_TPOFF64 sG4
|
|
+[0-9a-f]+: 66 90[ ]+xchg %ax,%ax
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax
|
|
+[0-9a-f]+: 00 00 *
|
|
+[0-9a-f]+: 48 03 05 e4 01 20 00[ ]+add 0x2001e4\(%rip\),%rax +# 200680 <.*>
|
|
# -> R_X86_64_TPOFF64 sG4
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
# GD -> IE, gd first, before IE use
|
|
+[0-9a-f]+: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax
|
|
+[0-9a-f]+: 00 00 *
|
|
+[0-9a-f]+: 48 03 05 b8 01 20 00[ ]+add 0x2001b8\(%rip\),%rax +# 200668 <.*>
|
|
# -> R_X86_64_TPOFF64 sG5
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 48 8b 05 ad 01 20 00[ ]+mov 0x2001ad\(%rip\),%rax +# 200668 <.*>
|
|
# -> R_X86_64_TPOFF64 sG5
|
|
+[0-9a-f]+: 66 90[ ]+xchg %ax,%ax
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
# GD -> IE, desc first, before IE use
|
|
+[0-9a-f]+: 48 8b 05 c0 01 20 00[ ]+mov 0x2001c0\(%rip\),%rax +# 200688 <.*>
|
|
# -> R_X86_64_TPOFF64 sG6
|
|
+[0-9a-f]+: 66 90[ ]+xchg %ax,%ax
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax
|
|
+[0-9a-f]+: 00 00 *
|
|
+[0-9a-f]+: 48 03 05 aa 01 20 00[ ]+add 0x2001aa\(%rip\),%rax +# 200688 <.*>
|
|
# -> R_X86_64_TPOFF64 sG6
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
# IE
|
|
+[0-9a-f]+: 64 48 8b 0c 25 00 00[ ]+mov %fs:0x0,%rcx
|
|
+[0-9a-f]+: 00 00 *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 48 03 0d 74 01 20 00[ ]+add 0x200174\(%rip\),%rcx +# 200668 <.*>
|
|
# -> R_X86_64_TPOFF64 sG5
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
# IE
|
|
+[0-9a-f]+: 64 48 8b 0c 25 00 00[ ]+mov %fs:0x0,%rcx
|
|
+[0-9a-f]+: 00 00 *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 48 03 0d 7e 01 20 00[ ]+add 0x20017e\(%rip\),%rcx +# 200688 <.*>
|
|
# -> R_X86_64_TPOFF64 sG6
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: 90[ ]+nop *
|
|
+[0-9a-f]+: c9[ ]+leaveq *
|
|
+[0-9a-f]+: c3[ ]+retq *
|