aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-ppc.h
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2009-10-02 11:33:50 +0000
committerJakub Jelinek <jakub@redhat.com>2009-10-02 11:33:50 +0000
commit38462edfa268c245acf1f53f65cf3e4c0772e2cd (patch)
tree1aaa1096de6406280db826a1f5808f72283f9a58 /gas/config/tc-ppc.h
parenta263f14bb3c96360f3ed7898ffcde64d9f2f32e0 (diff)
downloadgdb-38462edfa268c245acf1f53f65cf3e4c0772e2cd.zip
gdb-38462edfa268c245acf1f53f65cf3e4c0772e2cd.tar.gz
gdb-38462edfa268c245acf1f53f65cf3e4c0772e2cd.tar.bz2
* dw2gencfi.c: Include dwarf2dbg.h.
(DWARF2_FORMAT): Define if not defined. (dot_cfi_sections): New function. (cfi_pseudo_table): Handle .cfi_sections. (CFI_EMIT_eh_frame, CFI_EMIT_debug_frame): Define. (cfi_sections): New variable. (output_cie, output_fde, select_cie_for_fde): Add eh_frame argument, add supporting for outputting .debug_frame section. (cfi_change_reg_numbers): New function or macro. (cfi_finish): Only emit .eh_frame if cfi_sections & CFI_EMIT_eh_frame. Emit .debug_frame if cfi_sections & CFI_EMIT_debug_frame. * config/tc-ppc.h (md_reg_eh_frame_to_debug_frame): Define. * doc/as.texinfo (CFI directives): Document .cfi_sections.
Diffstat (limited to 'gas/config/tc-ppc.h')
-rw-r--r--gas/config/tc-ppc.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gas/config/tc-ppc.h b/gas/config/tc-ppc.h
index 37de84e..be474bd 100644
--- a/gas/config/tc-ppc.h
+++ b/gas/config/tc-ppc.h
@@ -249,6 +249,12 @@ extern int ppc_parse_name (const char *, struct expressionS *);
#define md_cleanup() ppc_cleanup ()
extern void ppc_cleanup (void);
+/* ppc uses different register numbers between .eh_frame and .debug_frame.
+ This macro translates the .eh_frame register numbers to .debug_frame
+ register numbers. */
+#define md_reg_eh_frame_to_debug_frame(regno) \
+ ((regno) == 70 ? 64 /* cr2 */ : (regno))
+
#define TARGET_USE_CFIPOP 1
#define tc_cfi_frame_initial_instructions ppc_cfi_frame_initial_instructions