diff options
Diffstat (limited to 'gas/config/tc-s390.h')
-rw-r--r-- | gas/config/tc-s390.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/gas/config/tc-s390.h b/gas/config/tc-s390.h index 9206c02..0c62125 100644 --- a/gas/config/tc-s390.h +++ b/gas/config/tc-s390.h @@ -19,6 +19,7 @@ Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ +#ifndef TC_S390 #define TC_S390 struct fix; @@ -98,3 +99,36 @@ extern int s390_cie_data_alignment; extern void s390_elf_final_processing (void); #define elf_tc_final_processing s390_elf_final_processing + +/* SFrame. */ + +/* Whether SFrame stack trace info is supported. */ +extern bool s390_support_sframe_p (void); +#define support_sframe_p s390_support_sframe_p + +/* The stack pointer DWARF register number for SFrame CFA tracking. */ +extern const unsigned int s390_sframe_cfa_sp_reg; +#define SFRAME_CFA_SP_REG s390_sframe_cfa_sp_reg + +/* The frame pointer DWARF register number for SFrame CFA and FP tracking. */ +extern const unsigned int s390_sframe_cfa_fp_reg; +#define SFRAME_CFA_FP_REG s390_sframe_cfa_fp_reg + +/* The return address DWARF register number for SFrame RA tracking. */ +extern const unsigned int s390_sframe_cfa_ra_reg; +#define SFRAME_CFA_RA_REG s390_sframe_cfa_ra_reg + +/* Whether SFrame return address tracking is needed. */ +extern bool s390_sframe_ra_tracking_p (void); +#define sframe_ra_tracking_p s390_sframe_ra_tracking_p + +/* The fixed offset from CFA for SFrame to recover the return address. + (useful only when SFrame RA tracking is not needed). */ +extern offsetT s390_sframe_cfa_ra_offset (void); +#define sframe_cfa_ra_offset s390_sframe_cfa_ra_offset + +/* The abi/arch identifier for SFrame. */ +unsigned char s390_sframe_get_abi_arch (void); +#define sframe_get_abi_arch s390_sframe_get_abi_arch + +#endif /* TC_S390 */ |