ENTRY(_mcount)
        mcount_enter
 
-       adrp    x0, ftrace_trace_function
-       ldr     x2, [x0, #:lo12:ftrace_trace_function]
+       ldr_l   x2, ftrace_trace_function
        adr     x0, ftrace_stub
        cmp     x0, x2                  // if (ftrace_trace_function
        b.eq    skip_ftrace_call        //     != ftrace_stub) {
        mcount_exit                     //   return;
                                        // }
 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
        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
        b.ne    ftrace_graph_caller     //     ftrace_graph_caller();