diff options
author | Ingo Molnar <mingo@kernel.org> | 2017-10-23 14:30:47 +0300 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2017-10-23 14:30:47 +0300 |
commit | f95b23a112f1a31ea042483540cd907b58d23a5f (patch) | |
tree | 3d41d2f8cf1d66ed593deb12f25a30d2905eb077 /arch/x86/kernel/kprobes/common.h | |
parent | da20ab35180780e4a6eadc804544f1fa967f3567 (diff) | |
parent | 58c3862b521ead4f69a24ef009a679cb3c519620 (diff) | |
download | linux-f95b23a112f1a31ea042483540cd907b58d23a5f.tar.xz |
Merge branch 'x86/urgent' into x86/asm, to pick up dependent fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/x86/kernel/kprobes/common.h')
-rw-r--r-- | arch/x86/kernel/kprobes/common.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/arch/x86/kernel/kprobes/common.h b/arch/x86/kernel/kprobes/common.h index db2182d63ed0..3fc0f9a794cb 100644 --- a/arch/x86/kernel/kprobes/common.h +++ b/arch/x86/kernel/kprobes/common.h @@ -3,6 +3,15 @@ /* Kprobes and Optprobes common header */ +#include <asm/asm.h> + +#ifdef CONFIG_FRAME_POINTER +# define SAVE_RBP_STRING " push %" _ASM_BP "\n" \ + " mov %" _ASM_SP ", %" _ASM_BP "\n" +#else +# define SAVE_RBP_STRING " push %" _ASM_BP "\n" +#endif + #ifdef CONFIG_X86_64 #define SAVE_REGS_STRING \ /* Skip cs, ip, orig_ax. */ \ @@ -17,7 +26,7 @@ " pushq %r10\n" \ " pushq %r11\n" \ " pushq %rbx\n" \ - " pushq %rbp\n" \ + SAVE_RBP_STRING \ " pushq %r12\n" \ " pushq %r13\n" \ " pushq %r14\n" \ @@ -48,7 +57,7 @@ " pushl %es\n" \ " pushl %ds\n" \ " pushl %eax\n" \ - " pushl %ebp\n" \ + SAVE_RBP_STRING \ " pushl %edi\n" \ " pushl %esi\n" \ " pushl %edx\n" \ |