diff options
author | Mark Wielaard <mjw@redhat.com> | 2012-02-24 05:32:05 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2012-02-27 04:46:14 -0500 |
commit | 928282e432ee584129a39da831ffa72c38e189b7 (patch) | |
tree | 24e1899ce7d8083c3c3d86bf16ab202ee35bfaaf /arch/x86/kernel | |
parent | f0ba662a6e06f2fb58201800eff33dcad9246f97 (diff) |
x86-64: Fix CFI data for common_interrupt()
Commit eab9e6137f23 ("x86-64: Fix CFI data for interrupt frames")
introduced a DW_CFA_def_cfa_expression in the SAVE_ARGS_IRQ
macro. To later define the CFA using a simple register+offset
rule both register and offset need to be supplied. Just using
CFI_DEF_CFA_REGISTER leaves the offset undefined. So use
CFI_DEF_CFA with reg+off explicitly at the end of
common_interrupt.
Signed-off-by: Mark Wielaard <mjw@redhat.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Link: http://lkml.kernel.org/r/1330079527-30711-1-git-send-email-mjw@redhat.com
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r-- | arch/x86/kernel/entry_64.S | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S index 3fe8239fd8fb..54be36bf2620 100644 --- a/arch/x86/kernel/entry_64.S +++ b/arch/x86/kernel/entry_64.S | |||
@@ -813,7 +813,7 @@ ret_from_intr: | |||
813 | 813 | ||
814 | /* Restore saved previous stack */ | 814 | /* Restore saved previous stack */ |
815 | popq %rsi | 815 | popq %rsi |
816 | CFI_DEF_CFA_REGISTER rsi | 816 | CFI_DEF_CFA rsi,SS+8-RBP /* reg/off reset after def_cfa_expr */ |
817 | leaq ARGOFFSET-RBP(%rsi), %rsp | 817 | leaq ARGOFFSET-RBP(%rsi), %rsp |
818 | CFI_DEF_CFA_REGISTER rsp | 818 | CFI_DEF_CFA_REGISTER rsp |
819 | CFI_ADJUST_CFA_OFFSET RBP-ARGOFFSET | 819 | CFI_ADJUST_CFA_OFFSET RBP-ARGOFFSET |