summaryrefslogtreecommitdiffstats
path: root/arch/x86/include
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2009-08-31 20:53:23 +0200
committerH. Peter Anvin <hpa@zytor.com>2009-09-01 00:14:29 +0200
commitfe9b4e4e40ffdabbd385cdf171cb861c2fd517c0 (patch)
tree87234673953823bba46c6992c69c7a229873fe19 /arch/x86/include
parentx86, AMD: Disable wrongly set X86_FEATURE_LAHF_LM CPUID bit (diff)
downloadlinux-fe9b4e4e40ffdabbd385cdf171cb861c2fd517c0.tar.xz
linux-fe9b4e4e40ffdabbd385cdf171cb861c2fd517c0.zip
x86, asm: Add 32-bit versions of the combined CFI macros
Add 32-bit versions of the combined CFI macros, equivalent to the 64-bit ones except, obviously, operating on 32-bit stack words. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'arch/x86/include')
-rw-r--r--arch/x86/include/asm/dwarf2.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/arch/x86/include/asm/dwarf2.h b/arch/x86/include/asm/dwarf2.h
index 3afc5e87cfdd..ae6253ab9029 100644
--- a/arch/x86/include/asm/dwarf2.h
+++ b/arch/x86/include/asm/dwarf2.h
@@ -87,9 +87,25 @@
CFI_RESTORE \reg
.endm
#else /*!CONFIG_X86_64*/
+ .macro pushl_cfi reg
+ pushl \reg
+ CFI_ADJUST_CFA_OFFSET 4
+ .endm
- /* 32bit defenitions are missed yet */
+ .macro popl_cfi reg
+ popl \reg
+ CFI_ADJUST_CFA_OFFSET -4
+ .endm
+ .macro movl_cfi reg offset=0
+ movl %\reg, \offset(%esp)
+ CFI_REL_OFFSET \reg, \offset
+ .endm
+
+ .macro movl_cfi_restore offset reg
+ movl \offset(%esp), %\reg
+ CFI_RESTORE \reg
+ .endm
#endif /*!CONFIG_X86_64*/
#endif /*__ASSEMBLY__*/