blob: 4f21ae561e4ddc7af7bc7a21f848f0fe4315ab59 [file] [log] [blame]
Hendrik Bruecknerbc3703f2017-11-20 11:41:07 +01001/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _ASM_S390_DWARF_H
3#define _ASM_S390_DWARF_H
4
5#ifdef __ASSEMBLY__
6
Hendrik Brueckner7bceec42017-11-20 11:46:13 +01007#define CFI_STARTPROC .cfi_startproc
8#define CFI_ENDPROC .cfi_endproc
9#define CFI_DEF_CFA_OFFSET .cfi_def_cfa_offset
10#define CFI_ADJUST_CFA_OFFSET .cfi_adjust_cfa_offset
11#define CFI_RESTORE .cfi_restore
12
13#ifdef CONFIG_AS_CFI_VAL_OFFSET
14#define CFI_VAL_OFFSET .cfi_val_offset
15#else
16#define CFI_VAL_OFFSET #
17#endif
18
Hendrik Bruecknerbc3703f2017-11-20 11:41:07 +010019#ifndef BUILD_VDSO
20 /*
21 * Emit CFI data in .debug_frame sections and not in .eh_frame
22 * sections. The .eh_frame CFI is used for runtime unwind
23 * information that is not being used. Hence, vmlinux.lds.S
24 * can discard the .eh_frame sections.
25 */
26 .cfi_sections .debug_frame
27#else
28 /*
29 * For vDSO, emit CFI data in both, .eh_frame and .debug_frame
30 * sections.
31 */
32 .cfi_sections .eh_frame, .debug_frame
33#endif
34
35#endif /* __ASSEMBLY__ */
36
37#endif /* _ASM_S390_DWARF_H */