/* dw2gencfi.h - Support for generating Dwarf2 CFI information.
- Copyright (C) 2003-2018 Free Software Foundation, Inc.
+ Copyright (C) 2003-2023 Free Software Foundation, Inc.
Contributed by Michal Ludvig <mludvig@suse.cz>
This file is part of GAS, the GNU Assembler.
#define SUPPORT_COMPACT_EH 0
#endif
-#define MULTIPLE_FRAME_SECTIONS (SUPPORT_FRAME_LINKONCE || SUPPORT_COMPACT_EH)
+#ifndef TARGET_MULTIPLE_EH_FRAME_SECTIONS
+#define TARGET_MULTIPLE_EH_FRAME_SECTIONS 0
+#endif
+
+#define MULTIPLE_FRAME_SECTIONS (SUPPORT_FRAME_LINKONCE || SUPPORT_COMPACT_EH \
+ || TARGET_MULTIPLE_EH_FRAME_SECTIONS)
struct cfi_insn_data
{
EH_COMPACT_HAS_LSDA
};
+/* Stack of old CFI data, for save/restore. */
+struct cfa_save_data
+{
+ struct cfa_save_data *next;
+ offsetT cfa_offset;
+};
+
+/* Current open FDE entry. */
+struct frch_cfi_data
+{
+ struct fde_entry *cur_fde_data;
+ symbolS *last_address;
+ offsetT cur_cfa_offset;
+ struct cfa_save_data *cfa_save_stack;
+};
+
struct fde_entry
{
struct fde_entry *next;
/* For out of line tables and FDEs. */
symbolS *eh_loc;
int sections;
+#ifdef tc_fde_entry_extras
+ tc_fde_entry_extras
+#endif
};
/* The list of all FDEs that have been collected. */
#define CFI_EMIT_debug_frame (1 << 1)
#define CFI_EMIT_target (1 << 2)
#define CFI_EMIT_eh_frame_compact (1 << 3)
+#define CFI_EMIT_sframe (1 << 4)
#endif /* DW2GENCFI_H */