aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-sparc.h
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2003-08-29 20:20:18 +0000
committerJakub Jelinek <jakub@redhat.com>2003-08-29 20:20:18 +0000
commit364b6d8b23fffbc773c2bda23348d73e8de86e84 (patch)
treeffe7b74218f18af4d967a05c8fb7bb373ca2161d /gas/config/tc-sparc.h
parente294916c5a6fd7e6f6a13261100cb1d3a2ee5a82 (diff)
downloadfsf-binutils-gdb-364b6d8b23fffbc773c2bda23348d73e8de86e84.zip
fsf-binutils-gdb-364b6d8b23fffbc773c2bda23348d73e8de86e84.tar.gz
fsf-binutils-gdb-364b6d8b23fffbc773c2bda23348d73e8de86e84.tar.bz2
* dw2gencfi.c (cfi_pseudo_table): Add cfi_gnu_window_save.
(dot_cfi, output_cfi_insn): Handle DW_CFA_GNU_window_save. (output_cie): Don't use DW_EH_PE_pcrel if neither DIFF_EXPR_OK nor tc_cfi_emit_pcrel_expr are defined. (output_fde): Use tc_cfi_emit_pcrel_expr if available and DIFF_EXPR_OK is not defined. * config/tc-sparc.h (TARGET_USE_CFIPOP): Define. (tc_cfi_frame_initial_instructions, tc_regname_to_dw2regnum, tc_cfi_emit_pcrel_expr): Define. (sparc_cfi_frame_initial_instructions, sparc_regname_to_dw2regnum, sparc_cfi_emit_pcrel_expr): New prototypes. (sparc_cie_data_alignment): New decl. (DWARF2_DEFAULT_RETURN_COLUMN, DWARF2_CIE_DATA_ALIGNMENT): Define. * config/tc-sparc.c: Include dw2gencfi.h. (sparc_cie_data_alignment): New variable. (md_begin): Initialize it. (sparc_cfi_frame_initial_instructions): New function. (sparc_regname_to_dw2regnum): Likewise. (sparc_cfi_emit_pcrel_expr): Likewise. * doc/as.texinfo: Document .cfi_gnu_window_save. * config/tc-sparc.c (s_common): Cast last argument to long and change format string to shut up warning. testsuite/ * gas/cfi/cfi-sparc-1.s: New test. * gas/cfi/cfi-sparc-1.d: New test. * gas/cfi/cfi-sparc64-1.s: New test. * gas/cfi/cfi-sparc64-1.d: New test. * gas/cfi/cfi.exp: Run them.
Diffstat (limited to 'gas/config/tc-sparc.h')
-rw-r--r--gas/config/tc-sparc.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/gas/config/tc-sparc.h b/gas/config/tc-sparc.h
index 17b3b6f..e99222b 100644
--- a/gas/config/tc-sparc.h
+++ b/gas/config/tc-sparc.h
@@ -174,6 +174,21 @@ extern void cons_fix_new_sparc
} \
while (0)
-#define DWARF2_LINE_MIN_INSN_LENGTH 4
+#define TARGET_USE_CFIPOP 1
+
+#define tc_cfi_frame_initial_instructions sparc_cfi_frame_initial_instructions
+extern void sparc_cfi_frame_initial_instructions PARAMS ((void));
+
+#define tc_regname_to_dw2regnum sparc_regname_to_dw2regnum
+extern int sparc_regname_to_dw2regnum PARAMS ((const char *regname));
+
+#define tc_cfi_emit_pcrel_expr sparc_cfi_emit_pcrel_expr
+extern void sparc_cfi_emit_pcrel_expr PARAMS ((expressionS *, unsigned int));
+
+extern int sparc_cie_data_alignment;
+
+#define DWARF2_LINE_MIN_INSN_LENGTH 4
+#define DWARF2_DEFAULT_RETURN_COLUMN 15
+#define DWARF2_CIE_DATA_ALIGNMENT sparc_cie_data_alignment
/* end of tc-sparc.h */