Merge branch 'devel-stable' into devel
[firefly-linux-kernel-4.4.55.git] / arch / arm / kernel / entry-common.S
index a0540c9f1f0c4491eaf9da0356941e393b60863d..3657c5328a5b0b3568a171ebe64c4a055c54e6f6 100644 (file)
@@ -118,6 +118,25 @@ ftrace_call:
 
 #else
 
+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}
+       bx ip
+
+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}
+       bx ip
+
 ENTRY(mcount)
        stmdb sp!, {r0-r3, lr}
        ldr r0, =ftrace_trace_function
@@ -361,16 +380,6 @@ sys_clone_wrapper:
                b       sys_clone
 ENDPROC(sys_clone_wrapper)
 
-sys_sigsuspend_wrapper:
-               add     r3, sp, #S_OFF
-               b       sys_sigsuspend
-ENDPROC(sys_sigsuspend_wrapper)
-
-sys_rt_sigsuspend_wrapper:
-               add     r2, sp, #S_OFF
-               b       sys_rt_sigsuspend
-ENDPROC(sys_rt_sigsuspend_wrapper)
-
 sys_sigreturn_wrapper:
                add     r0, sp, #S_OFF
                b       sys_sigreturn