| .. | .. |
|---|
| 6 | 6 | #warning "asm/dwarf2.h should be only included in pure assembly files" |
|---|
| 7 | 7 | #endif |
|---|
| 8 | 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 | | - |
|---|
| 16 | | -#ifdef CONFIG_AS_CFI |
|---|
| 17 | | - |
|---|
| 18 | 9 | #define CFI_STARTPROC .cfi_startproc |
|---|
| 19 | 10 | #define CFI_ENDPROC .cfi_endproc |
|---|
| 20 | 11 | #define CFI_DEF_CFA .cfi_def_cfa |
|---|
| .. | .. |
|---|
| 30 | 21 | #define CFI_UNDEFINED .cfi_undefined |
|---|
| 31 | 22 | #define CFI_ESCAPE .cfi_escape |
|---|
| 32 | 23 | |
|---|
| 33 | | -#ifdef CONFIG_AS_CFI_SIGNAL_FRAME |
|---|
| 34 | | -#define CFI_SIGNAL_FRAME .cfi_signal_frame |
|---|
| 35 | | -#else |
|---|
| 36 | | -#define CFI_SIGNAL_FRAME |
|---|
| 37 | | -#endif |
|---|
| 38 | | - |
|---|
| 39 | | -#if defined(CONFIG_AS_CFI_SECTIONS) && defined(__ASSEMBLY__) |
|---|
| 40 | 24 | #ifndef BUILD_VDSO |
|---|
| 41 | 25 | /* |
|---|
| 42 | 26 | * Emit CFI data in .debug_frame sections, not .eh_frame sections. |
|---|
| 43 | 27 | * The latter we currently just discard since we don't do DWARF |
|---|
| 44 | 28 | * unwinding at runtime. So only the offline DWARF information is |
|---|
| 45 | | - * useful to anyone. Note we should not use this directive if |
|---|
| 46 | | - * vmlinux.lds.S gets changed so it doesn't discard .eh_frame. |
|---|
| 29 | + * useful to anyone. Note we should not use this directive if we |
|---|
| 30 | + * ever decide to enable DWARF unwinding at runtime. |
|---|
| 47 | 31 | */ |
|---|
| 48 | 32 | .cfi_sections .debug_frame |
|---|
| 49 | 33 | #else |
|---|
| .. | .. |
|---|
| 52 | 36 | * symbols for the .dbg file. |
|---|
| 53 | 37 | */ |
|---|
| 54 | 38 | .cfi_sections .eh_frame, .debug_frame |
|---|
| 55 | | -#endif |
|---|
| 56 | | -#endif |
|---|
| 57 | | - |
|---|
| 58 | | -#else |
|---|
| 59 | | - |
|---|
| 60 | | -/* |
|---|
| 61 | | - * Due to the structure of pre-exisiting code, don't use assembler line |
|---|
| 62 | | - * comment character # to ignore the arguments. Instead, use a dummy macro. |
|---|
| 63 | | - */ |
|---|
| 64 | | -.macro cfi_ignore a=0, b=0, c=0, d=0 |
|---|
| 65 | | -.endm |
|---|
| 66 | | - |
|---|
| 67 | | -#define CFI_STARTPROC cfi_ignore |
|---|
| 68 | | -#define CFI_ENDPROC cfi_ignore |
|---|
| 69 | | -#define CFI_DEF_CFA cfi_ignore |
|---|
| 70 | | -#define CFI_DEF_CFA_REGISTER cfi_ignore |
|---|
| 71 | | -#define CFI_DEF_CFA_OFFSET cfi_ignore |
|---|
| 72 | | -#define CFI_ADJUST_CFA_OFFSET cfi_ignore |
|---|
| 73 | | -#define CFI_OFFSET cfi_ignore |
|---|
| 74 | | -#define CFI_REL_OFFSET cfi_ignore |
|---|
| 75 | | -#define CFI_REGISTER cfi_ignore |
|---|
| 76 | | -#define CFI_RESTORE cfi_ignore |
|---|
| 77 | | -#define CFI_REMEMBER_STATE cfi_ignore |
|---|
| 78 | | -#define CFI_RESTORE_STATE cfi_ignore |
|---|
| 79 | | -#define CFI_UNDEFINED cfi_ignore |
|---|
| 80 | | -#define CFI_ESCAPE cfi_ignore |
|---|
| 81 | | -#define CFI_SIGNAL_FRAME cfi_ignore |
|---|
| 82 | | - |
|---|
| 83 | 39 | #endif |
|---|
| 84 | 40 | |
|---|
| 85 | 41 | #endif /* _ASM_X86_DWARF2_H */ |
|---|