aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorRichard Sandiford <richard@codesourcery.com>2007-02-05 10:38:46 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2007-02-05 10:38:46 +0000
commit5cd0f9153d5ae7d646006fc21bb967de4e262d8d (patch)
tree0564697bf3a64211ba6d737dea5a615ec299e0f2 /gcc/config
parent4fe70b3151497166c316c45e5eec842f9de3a3f2 (diff)
downloadgcc-5cd0f9153d5ae7d646006fc21bb967de4e262d8d.zip
gcc-5cd0f9153d5ae7d646006fc21bb967de4e262d8d.tar.gz
gcc-5cd0f9153d5ae7d646006fc21bb967de4e262d8d.tar.bz2
tm.texi (DWARF_ALT_FRAME_RETURN_COLUMN): Do not require DWARF_FRAME_RETURN_COLUMN to be a general register.
gcc/ * doc/tm.texi (DWARF_ALT_FRAME_RETURN_COLUMN): Do not require DWARF_FRAME_RETURN_COLUMN to be a general register. * dwarf2out.c (init_return_column_size): New function, split from... (expand_builtin_init_dwarf_reg_sizes): ...here. Allow both DWARF_FRAME_RETURN_COLUMN and DWARF_ALT_FRAME_RETURN_COLUMN to be nongeneral registers. * config/m68k/m68k.h (DWARF_FRAME_REGNUM): Only map FP and integer registers. (DWARF_FRAME_REGISTERS, DWARF_FRAME_RETURN_COLUMN): Define. (DWARF_ALT_FRAME_RETURN_COLUMN): Define. From-SVN: r121593
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/m68k/m68k.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h
index 39a5878..d832564 100644
--- a/gcc/config/m68k/m68k.h
+++ b/gcc/config/m68k/m68k.h
@@ -1092,7 +1092,15 @@ do { if (cc_prev_status.flags & CC_IN_68881) \
/* We must not use the DBX register numbers for the DWARF 2 CFA column
numbers because that maps to numbers beyond FIRST_PSEUDO_REGISTER.
Instead use the identity mapping. */
-#define DWARF_FRAME_REGNUM(REG) REG
+#define DWARF_FRAME_REGNUM(REG) \
+ (INT_REGNO_P (REG) || FP_REGNO_P (REG) ? (REG) : INVALID_REGNUM)
+
+/* The return column was originally 24, but gcc used 25 for a while too.
+ Define both registers 24 and 25 as Pmode ones and use 24 in our own
+ unwind information. */
+#define DWARF_FRAME_REGISTERS 25
+#define DWARF_FRAME_RETURN_COLUMN 24
+#define DWARF_ALT_FRAME_RETURN_COLUMN 25
/* Before the prologue, the top of the frame is at 4(%sp). */
#define INCOMING_FRAME_SP_OFFSET 4