^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #ifndef _ASM_S390_DWARF_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) #define _ASM_S390_DWARF_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) #ifdef __ASSEMBLY__
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) #define CFI_STARTPROC .cfi_startproc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) #define CFI_ENDPROC .cfi_endproc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) #define CFI_DEF_CFA_OFFSET .cfi_def_cfa_offset
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) #define CFI_ADJUST_CFA_OFFSET .cfi_adjust_cfa_offset
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) #define CFI_RESTORE .cfi_restore
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) #ifdef CONFIG_AS_CFI_VAL_OFFSET
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) #define CFI_VAL_OFFSET .cfi_val_offset
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) #else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) #define CFI_VAL_OFFSET #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) #ifndef BUILD_VDSO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) * Emit CFI data in .debug_frame sections and not in .eh_frame
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) * sections. The .eh_frame CFI is used for runtime unwind
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) * information that is not being used. Hence, vmlinux.lds.S
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) * can discard the .eh_frame sections.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) .cfi_sections .debug_frame
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) #else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) * For vDSO, emit CFI data in both, .eh_frame and .debug_frame
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) * sections.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) .cfi_sections .eh_frame, .debug_frame
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) #endif /* __ASSEMBLY__ */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) #endif /* _ASM_S390_DWARF_H */