]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - ld/testsuite/ld-arm/farcall-mixed-app.d
Arm: Fix performance issue with thumb-2 tailcalls
[thirdparty/binutils-gdb.git] / ld / testsuite / ld-arm / farcall-mixed-app.d
1
2 tmpdir/farcall-mixed-app: file format elf32-(little|big)arm
3 architecture: arm.*, flags 0x00000112:
4 EXEC_P, HAS_SYMS, D_PAGED
5 start address 0x.*
6
7 Disassembly of section .plt:
8
9 .* <.plt>:
10 .*: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\)
11 .*: e59fe004 ldr lr, \[pc, #4\] ; .* <.*>
12 .*: e08fe00e add lr, pc, lr
13 .*: e5bef008 ldr pc, \[lr, #8\]!
14 .*: .*
15 .* <lib_func2@plt>:
16 .*: 4778 bx pc
17 .*: e7fd b.n .+ <.+>
18 .*: e28fc6.* add ip, pc, #.*
19 .*: e28cca.* add ip, ip, #.* ; 0x.*
20 .*: e5bcf.* ldr pc, \[ip, #.*\]!.*
21 .* <lib_func1@plt>:
22 .*: e28fc6.* add ip, pc, #.*
23 .*: e28cca.* add ip, ip, #.* ; 0x.*
24 .*: e5bcf.* ldr pc, \[ip, #.*\]!.*
25
26 Disassembly of section .text:
27
28 .* <_start>:
29 .*: e1a0c00d mov ip, sp
30 .*: e92dd800 push {fp, ip, lr, pc}
31 .*: eb000008 bl .* <__app_func_veneer>
32 .*: ebfffff6 bl .* <lib_func1@plt>
33 .*: ebfffff2 bl .* <lib_func2@plt\+0x4>
34 .*: e89d6800 ldm sp, {fp, sp, lr}
35 .*: e12fff1e bx lr
36 .*: e1a00000 nop ; \(mov r0, r0\)
37
38 .* <app_tfunc_close>:
39 .*: b500 push {lr}
40 .*: f7ff ffdb bl 81dc <lib_func2@plt>
41 .*: bd00 pop {pc}
42 .*: 4770 bx lr
43 .*: 46c0 nop ; \(mov r8, r8\)
44 #...
45
46 .* <__app_func_veneer>:
47 .*: e51ff004 ldr pc, \[pc, #-4\] ; 8234 <__app_func_veneer\+0x4>
48 .*: 02100000 .word 0x02100000
49
50 Disassembly of section .far_arm:
51
52 .* <app_func>:
53 .*: e1a0c00d mov ip, sp
54 .*: e92dd800 push {fp, ip, lr, pc}
55 .*: eb00000(6|8) bl .* <__lib_func1_veneer>
56 .*: eb00000(7|5) bl .* <__lib_func2_veneer>
57 .*: e89d6800 ldm sp, {fp, sp, lr}
58 .*: e12fff1e bx lr
59 .*: e1a00000 nop ; \(mov r0, r0\)
60 .*: e1a00000 nop ; \(mov r0, r0\)
61
62 .* <app_func2>:
63 .*: e12fff1e bx lr
64 #...
65
66 .* <__lib_func(1|2)_veneer>:
67 .*: e51ff004 ldr pc, \[pc, #-4\] ; .* <__lib_func(1|2)_veneer\+0x4>
68 .*: 000081e(c|0) .word 0x000081e(c|0)
69 .* <__lib_func(2|1)_veneer>:
70 .*: e51ff004 ldr pc, \[pc, #-4\] ; .* <__lib_func(2|1)_veneer\+0x4>
71 .*: 000081e(0|c) .word 0x000081e(0|c)
72
73 Disassembly of section .far_thumb:
74
75 .* <app_tfunc>:
76 .*: b500 push {lr}
77 .*: f000 f805 bl .* <__lib_func2_from_thumb>
78 .*: bd00 pop {pc}
79 .*: 4770 bx lr
80 .*: 46c0 nop ; \(mov r8, r8\)
81 #...
82
83 .* <__lib_func2_from_thumb>:
84 .*: 4778 bx pc
85 .*: e7fd b.n .+ <.+>
86 .*: e51ff004 ldr pc, \[pc, #-4\] ; 2200018 <__lib_func2_from_thumb\+0x8>
87 .*: 000081e0 .word 0x000081e0
88 .*: 00000000 .word 0x00000000