]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - arch/powerpc/kernel/entry_64.S
ftrace: store mcount address in rec->ip
[mirror_ubuntu-artful-kernel.git] / arch / powerpc / kernel / entry_64.S
index 2c4d9e056ead302f1f946b42c1f0dc4919c1fa56..2f511a969d2cfb9e9db66f12aa41a293ce32e026 100644 (file)
@@ -31,6 +31,7 @@
 #include <asm/bug.h>
 #include <asm/ptrace.h>
 #include <asm/irqflags.h>
+#include <asm/ftrace.h>
 
 /*
  * System calls.
@@ -879,6 +880,7 @@ _GLOBAL(_mcount)
        mflr    r3
        stdu    r1, -112(r1)
        std     r3, 128(r1)
+       subi    r3, r3, MCOUNT_INSN_SIZE
        .globl mcount_call
 mcount_call:
        bl      ftrace_stub
@@ -895,6 +897,7 @@ _GLOBAL(ftrace_caller)
        stdu    r1, -112(r1)
        std     r3, 128(r1)
        ld      r4, 16(r11)
+       subi    r3, r3, MCOUNT_INSN_SIZE
 .globl ftrace_call
 ftrace_call:
        bl      ftrace_stub
@@ -916,7 +919,7 @@ _GLOBAL(_mcount)
        std     r3, 128(r1)
        ld      r4, 16(r11)
 
-
+       subi    r3, r3, MCOUNT_INSN_SIZE
        LOAD_REG_ADDR(r5,ftrace_trace_function)
        ld      r5,0(r5)
        ld      r5,0(r5)