i386: Improve PLT generation and synthetic PLT symbols
[external/binutils.git] / ld / testsuite / ld-i386 / pr20830.d
1 #name: PR ld/20830 (.plt.got)
2 #as: --32
3 #ld: -melf_i386 -shared -z relro --ld-generated-unwind-info
4 #objdump: -dw -Wf
5
6 .*: +file format .*
7
8 Contents of the .eh_frame section:
9
10 0+ 00000014 00000000 CIE
11   Version:               1
12   Augmentation:          "zR"
13   Code alignment factor: 1
14   Data alignment factor: -4
15   Return address column: 8
16   Augmentation data:     1b
17
18   DW_CFA_def_cfa: r4 \(esp\) ofs 4
19   DW_CFA_offset: r8 \(eip\) at cfa-4
20   DW_CFA_nop
21   DW_CFA_nop
22
23 0+18 00000010 0000001c FDE cie=00000000 pc=00000188..00000193
24   DW_CFA_nop
25   DW_CFA_nop
26   DW_CFA_nop
27
28 0+2c 00000020 00000030 FDE cie=00000000 pc=00000170..00000180
29   DW_CFA_def_cfa_offset: 8
30   DW_CFA_advance_loc: 6 to 00000176
31   DW_CFA_def_cfa_offset: 12
32   DW_CFA_advance_loc: 10 to 00000180
33   DW_CFA_def_cfa_expression \(DW_OP_breg4 \(esp\): 4; DW_OP_breg8 \(eip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit11; DW_OP_ge; DW_OP_lit2; DW_OP_shl; DW_OP_plus\)
34
35 0+50 00000010 00000054 FDE cie=00000000 pc=00000180..00000188
36   DW_CFA_nop
37   DW_CFA_nop
38   DW_CFA_nop
39
40
41 Disassembly of section .plt:
42
43 0+170 <.plt>:
44  +[a-f0-9]+:    ff b3 04 00 00 00       pushl  0x4\(%ebx\)
45  +[a-f0-9]+:    ff a3 08 00 00 00       jmp    \*0x8\(%ebx\)
46  +[a-f0-9]+:    00 00                   add    %al,\(%eax\)
47         ...
48
49 Disassembly of section .plt.got:
50
51 0+180 <func@plt>:
52  +[a-f0-9]+:    ff a3 fc ff ff ff       jmp    \*-0x4\(%ebx\)
53  +[a-f0-9]+:    66 90                   xchg   %ax,%ax
54
55 Disassembly of section .text:
56
57 0+188 <foo>:
58  +[a-f0-9]+:    e8 f3 ff ff ff          call   180 <func@plt>
59  +[a-f0-9]+:    8b 83 fc ff ff ff       mov    -0x4\(%ebx\),%eax
60 #pass