blob: eedc08526b0b6d435d78626cb859156c51128677 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef _DWARF2_H
2#define _DWARF2_H 1
3
Linus Torvalds1da177e2005-04-16 15:20:36 -07004
5#ifndef __ASSEMBLY__
6#warning "asm/dwarf2.h should be only included in pure assembly files"
7#endif
8
9/*
10 Macros for dwarf2 CFI unwind table entries.
11 See "as.info" for details on these pseudo ops. Unfortunately
12 they are only supported in very new binutils, so define them
13 away for older version.
14 */
15
Andi Kleene2414912006-09-26 10:52:30 +020016#ifdef CONFIG_AS_CFI
Linus Torvalds1da177e2005-04-16 15:20:36 -070017
18#define CFI_STARTPROC .cfi_startproc
19#define CFI_ENDPROC .cfi_endproc
20#define CFI_DEF_CFA .cfi_def_cfa
21#define CFI_DEF_CFA_REGISTER .cfi_def_cfa_register
22#define CFI_DEF_CFA_OFFSET .cfi_def_cfa_offset
23#define CFI_ADJUST_CFA_OFFSET .cfi_adjust_cfa_offset
24#define CFI_OFFSET .cfi_offset
25#define CFI_REL_OFFSET .cfi_rel_offset
Jan Beulich7effaa82005-09-12 18:49:24 +020026#define CFI_REGISTER .cfi_register
27#define CFI_RESTORE .cfi_restore
28#define CFI_REMEMBER_STATE .cfi_remember_state
29#define CFI_RESTORE_STATE .cfi_restore_state
Jan Beulich27651302006-01-11 22:41:59 +010030#define CFI_UNDEFINED .cfi_undefined
Jan Beulichadf14232006-09-26 10:52:41 +020031#ifdef CONFIG_AS_CFI_SIGNAL_FRAME
32#define CFI_SIGNAL_FRAME .cfi_signal_frame
33#else
34#define CFI_SIGNAL_FRAME
35#endif
Linus Torvalds1da177e2005-04-16 15:20:36 -070036
37#else
38
39/* use assembler line comment character # to ignore the arguments. */
40#define CFI_STARTPROC #
41#define CFI_ENDPROC #
42#define CFI_DEF_CFA #
43#define CFI_DEF_CFA_REGISTER #
44#define CFI_DEF_CFA_OFFSET #
45#define CFI_ADJUST_CFA_OFFSET #
46#define CFI_OFFSET #
47#define CFI_REL_OFFSET #
Jan Beulich7effaa82005-09-12 18:49:24 +020048#define CFI_REGISTER #
49#define CFI_RESTORE #
50#define CFI_REMEMBER_STATE #
51#define CFI_RESTORE_STATE #
Jan Beulich27651302006-01-11 22:41:59 +010052#define CFI_UNDEFINED #
Jan Beulichadf14232006-09-26 10:52:41 +020053#define CFI_SIGNAL_FRAME #
Linus Torvalds1da177e2005-04-16 15:20:36 -070054
55#endif
56
57#endif