The complex patch with which MohammadAG had his success
[h-e-n] / arch / arm / kernel / entry-common.S
index 06269ea..81dda58 100644 (file)
@@ -126,6 +126,16 @@ ftrace_call:
 
 #else
 
+                               
+gnu_trace:
+       ldr r1, [sp, #20]                       @ lr of instrumented routine
+       mov r0, lr
+       sub r0, r0, #MCOUNT_INSN_SIZE
+       mov lr, pc
+       mov pc, r2
+       ldmia sp!, {r0-r3, ip, lr}
+       mov pc, ip
+                               
 ENTRY(mcount)
        stmdb sp!, {r0-r3, lr}
        ldr r0, =ftrace_trace_function
@@ -135,6 +145,16 @@ ENTRY(mcount)
        bne trace
        ldmia sp!, {r0-r3, pc}
 
+ENTRY(__gnu_mcount_nc)
+       stmdb sp!, {r0-r3, lr}
+       ldr r0, =ftrace_trace_function
+       ldr r2, [r0]
+       adr r0, ftrace_stub
+       cmp r0, r2
+       bne gnu_trace
+       ldmia sp!, {r0-r3, ip, lr}
+       mov pc, ip
+
 trace:
        ldr r1, [fp, #-4]
        mov r0, lr