binutils-gdb/ld/testsuite/ld-x86-64/pr20830b.d
Jan Beulich 36938cabf0 x86: avoid attaching suffixes to unambiguous insns
"Unambiguous" is is in particular taking as reference the assembler,
which also accepts certain insns - despite them allowing for varying
operand size, and hence in principle being ambiguous - without any
suffix. For example, from the very beginning of the life of x86-64 I had
trouble understanding why a plain and simple RET had to be printed as
RETQ. In case someone really used the 16-bit form, RETW disambiguates
the two quite fine.
2020-07-15 08:53:55 +02:00

61 lines
1.9 KiB
Makefile

#name: PR ld/20830 (.plt.got)
#source: pr20830.s
#as: --x32
#ld: -melf32_x86_64 -shared -z relro --ld-generated-unwind-info --hash-style=sysv -z max-page-size=0x200000 -z noseparate-code
#objdump: -dw -Wf
.*: +file format .*
Contents of the .eh_frame section:
0+ 0000000000000014 00000000 CIE
Version: 1
Augmentation: "zR"
Code alignment factor: 1
Data alignment factor: -8
Return address column: 16
Augmentation data: 1b
DW_CFA_def_cfa: r7 \(rsp\) ofs 8
DW_CFA_offset: r16 \(rip\) at cfa-8
DW_CFA_nop
DW_CFA_nop
0+18 0000000000000010 0000001c FDE cie=00000000 pc=0000000000000138..0000000000000144
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
0+2c 0000000000000020 00000030 FDE cie=00000000 pc=0000000000000120..0000000000000130
DW_CFA_def_cfa_offset: 16
DW_CFA_advance_loc: 6 to 0000000000000126
DW_CFA_def_cfa_offset: 24
DW_CFA_advance_loc: 10 to 0000000000000130
DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit11; DW_OP_ge; DW_OP_lit3; DW_OP_shl; DW_OP_plus\)
0+50 0000000000000010 00000054 FDE cie=00000000 pc=0000000000000130..0000000000000138
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
Disassembly of section .plt:
0+120 <.plt>:
+[a-f0-9]+: ff 35 e2 0e 20 00 push 0x200ee2\(%rip\) # 201008 <_GLOBAL_OFFSET_TABLE_\+0x8>
+[a-f0-9]+: ff 25 e4 0e 20 00 jmp \*0x200ee4\(%rip\) # 201010 <_GLOBAL_OFFSET_TABLE_\+0x10>
+[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\)
Disassembly of section .plt.got:
0+130 <func@plt>:
+[a-f0-9]+: ff 25 c2 0e 20 00 jmp \*0x200ec2\(%rip\) # 200ff8 <func>
+[a-f0-9]+: 66 90 xchg %ax,%ax
Disassembly of section .text:
0+138 <foo>:
+[a-f0-9]+: e8 f3 ff ff ff call 130 <func@plt>
+[a-f0-9]+: 48 8b 05 b4 0e 20 00 mov 0x200eb4\(%rip\),%rax # 200ff8 <func>
#pass