]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - ld/testsuite/ld-arm/farcall-mixed-lib-v4t.d
Arm: Fix performance issue with thumb-2 tailcalls
[thirdparty/binutils-gdb.git] / ld / testsuite / ld-arm / farcall-mixed-lib-v4t.d
1 tmpdir/farcall-mixed-lib.so: file format elf32-(little|big)arm
2 architecture: arm.*, flags 0x00000150:
3 HAS_SYMS, DYNAMIC, D_PAGED
4 start address 0x.*
5
6 Disassembly of section .plt:
7
8 .* <.plt>:
9 .*: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\)
10 .*: e59fe004 ldr lr, \[pc, #4\] ; .* <.*>
11 .*: e08fe00e add lr, pc, lr
12 .*: e5bef008 ldr pc, \[lr, #8\]!
13 .*: .* .word .*
14 .* <app_func@plt>:
15 .*: 4778 bx pc
16 .*: e7fd b.n .+ <.+>
17 .*: e28fc6.* add ip, pc, #.*
18 .*: e28cca.* add ip, ip, #.* ; 0x.*
19 .*: e5bcf.* ldr pc, \[ip, #.*\]! ; .*
20 .* <app_func_weak@plt>:
21 .*: 4778 bx pc
22 .*: e7fd b.n .+ <.+>
23 .*: e28fc6.* add ip, pc, #.*
24 .*: e28cca.* add ip, ip, #.* ; 0x.*
25 .*: e5bcf.* ldr pc, \[ip, #.*\]! ; 0x.*
26 .* <lib_func3@plt>:
27 .*: 4778 bx pc
28 .*: e7fd b.n .+ <.+>
29 .*: e28fc6.* add ip, pc, #.*
30 .*: e28cca.* add ip, ip, #.* ; 0x.*
31 .*: e5bcf.* ldr pc, \[ip, #.*\]! ; 0x.*
32 .* <lib_func4@plt>:
33 .*: 4778 bx pc
34 .*: e7fd b.n .+ <.+>
35 .*: e28fc6.* add ip, pc, #.*
36 .*: e28cca.* add ip, ip, #.* ; 0x.*
37 .*: e5bcf.* ldr pc, \[ip, #.*\]! ; 0x.*
38
39 Disassembly of section .text:
40
41 .* <lib_func1>:
42 .*: e1a0c00d mov ip, sp
43 .*: e92dd800 push {fp, ip, lr, pc}
44 .*: ebffff.. bl .* <app_func@plt\+0x.*>
45 .*: ebffff.. bl .* <app_func_weak@plt\+0x.*>
46 .*: ebffff.. bl .* <lib_func3@plt\+0x.*>
47 .*: ebffff.. bl .* <lib_func4@plt\+0x.*>
48 .*: e89d6800 ldm sp, {fp, sp, lr}
49 .*: e12fff1e bx lr
50 ...
51
52 .* <__real_lib_func2>:
53 .*: f000 f8.. bl .* <__app_func_from_thumb>
54 .*: f000 f8.. bl .* <__app_func_weak_from_thumb>
55 .*: f000 f8.. bl .* <__lib_func3_from_thumb>
56 .*: f000 f8.. bl .* <__lib_func4_from_thumb>
57 .*: 4770 bx lr
58 #...
59
60 .* <__app_func_from_thumb>:
61 .*: 4778 bx pc
62 .*: e7fd b.n .+ <.+>
63 .*: e59fc000 ldr ip, \[pc\] ; .* <__app_func_from_thumb\+0xc>
64 .*: e08cf00f add pc, ip, pc
65 .*: feffff.. .word 0xfeffff..
66
67 .* <__lib_func4_from_thumb>:
68 .*: 4778 bx pc
69 .*: e7fd b.n .+ <.+>
70 .*: e59fc000 ldr ip, \[pc\] ; .* <__lib_func4_from_thumb\+0xc>
71 .*: e08cf00f add pc, ip, pc
72 .*: feffff.. .word 0xfeffff..
73
74 .* <__app_func_weak_from_thumb>:
75 .*: 4778 bx pc
76 .*: e7fd b.n .+ <.+>
77 .*: e59fc000 ldr ip, \[pc\] ; .* <__app_func_weak_from_thumb\+0xc>
78 .*: e08cf00f add pc, ip, pc
79 .*: feffff.. .word 0xfeffff..
80
81 .* <__lib_func3_from_thumb>:
82 .*: 4778 bx pc
83 .*: e7fd b.n .+ <.+>
84 .*: e59fc000 ldr ip, \[pc\] ; .* <__lib_func3_from_thumb\+0xc>
85 .*: e08cf00f add pc, ip, pc
86 .*: feffff.. .word 0xfeffff..
87 ...
88
89 .* <__real_lib_func3>:
90 .*: f000 f80(e|6) bl .* <__app_func_from_thumb>
91 .*: f000 f80(4|c) bl .* <__app_func_weak_from_thumb>
92 .*: 4770 bx lr
93 #...
94
95 .* <__app_func_weak_from_thumb>:
96 .*: 4778 bx pc
97 .*: e7fd b.n .+ <.+>
98 .*: e59fc000 ldr ip, \[pc\] ; .* <__app_func_weak_from_thumb\+0xc>
99 .*: e08cf00f add pc, ip, pc
100 .*: fdffff34 .word 0xfdffff34
101
102 .* <__app_func_from_thumb>:
103 .*: 4778 bx pc
104 .*: e7fd b.n .+ <.+>
105 .*: e59fc000 ldr ip, \[pc\] ; .* <__app_func_from_thumb\+0xc>
106 .*: e08cf00f add pc, ip, pc
107 .*: fdffff14 .word 0xfdffff14
108
109 .* <lib_func3>:
110 .*: e59fc004 ldr ip, \[pc, #4\] ; .* <lib_func3\+0xc>
111 .*: e08cc00f add ip, ip, pc
112 .*: e12fff1c bx ip
113 .*: ffffffc5 .word 0xffffffc5
114
115 .* <lib_func2>:
116 .*: e59fc004 ldr ip, \[pc, #4\] ; .* <lib_func2\+0xc>
117 .*: e08cc00f add ip, ip, pc
118 .*: e12fff1c bx ip
119 .*: feffff55 .word 0xfeffff55