|
@@ -98,8 +98,7 @@
|
|
ENTRY(_mcount)
|
|
ENTRY(_mcount)
|
|
mcount_enter
|
|
mcount_enter
|
|
|
|
|
|
- adrp x0, ftrace_trace_function
|
|
|
|
- ldr x2, [x0, #:lo12:ftrace_trace_function]
|
|
|
|
|
|
+ ldr_l x2, ftrace_trace_function
|
|
adr x0, ftrace_stub
|
|
adr x0, ftrace_stub
|
|
cmp x0, x2 // if (ftrace_trace_function
|
|
cmp x0, x2 // if (ftrace_trace_function
|
|
b.eq skip_ftrace_call // != ftrace_stub) {
|
|
b.eq skip_ftrace_call // != ftrace_stub) {
|
|
@@ -115,15 +114,12 @@ skip_ftrace_call: // return;
|
|
mcount_exit // return;
|
|
mcount_exit // return;
|
|
// }
|
|
// }
|
|
skip_ftrace_call:
|
|
skip_ftrace_call:
|
|
- adrp x1, ftrace_graph_return
|
|
|
|
- ldr x2, [x1, #:lo12:ftrace_graph_return]
|
|
|
|
|
|
+ ldr_l x2, ftrace_graph_return
|
|
cmp x0, x2 // if ((ftrace_graph_return
|
|
cmp x0, x2 // if ((ftrace_graph_return
|
|
b.ne ftrace_graph_caller // != ftrace_stub)
|
|
b.ne ftrace_graph_caller // != ftrace_stub)
|
|
|
|
|
|
- adrp x1, ftrace_graph_entry // || (ftrace_graph_entry
|
|
|
|
- adrp x0, ftrace_graph_entry_stub // != ftrace_graph_entry_stub))
|
|
|
|
- ldr x2, [x1, #:lo12:ftrace_graph_entry]
|
|
|
|
- add x0, x0, #:lo12:ftrace_graph_entry_stub
|
|
|
|
|
|
+ ldr_l x2, ftrace_graph_entry // || (ftrace_graph_entry
|
|
|
|
+ adr_l x0, ftrace_graph_entry_stub // != ftrace_graph_entry_stub))
|
|
cmp x0, x2
|
|
cmp x0, x2
|
|
b.ne ftrace_graph_caller // ftrace_graph_caller();
|
|
b.ne ftrace_graph_caller // ftrace_graph_caller();
|
|
|
|
|