aboutsummaryrefslogtreecommitdiff
path: root/gcc/defaults.h
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2011-07-09 20:43:06 +0000
committerRichard Henderson <rth@redhat.com>2011-07-09 20:43:06 +0000
commit1039a1fb32173fcbf525dc2b01bf4a4840018892 (patch)
treefe412d2bc3a742d749bc063bc62d8d6a13b4dc76 /gcc/defaults.h
parentfaa81d56fc8c06e00ea3ef3d03e367c424946212 (diff)
dwarf2: Reduce some redundant definitions.
Move some definitions to defaults.h; some simply aren't needed anymore in the respective dwarf2{cfi,out}.c files. * defaults.h (DWARF_CIE_DATA_ALIGNMENT, DWARF_FRAME_RETURN_COLUMN, DWARF_FRAME_REGNUM, DWARF2_FRAME_REG_OUT): Move from ... * dwarf2cfi.c: ... here. (PTR_SIZE, DWARF_OFFSET_SIZE, DWARF_INITIAL_LENGTH_SIZE): Remove. (DWARF_ROUND, DWARF_CIE_ID): Remove. * dwarf2out.c (INCOMING_RETURN_ADDR_RTX): Remove. (DWARF2_FRAME_REG_OUT, DWARF_CIE_DATA_ALIGNMENT): Remove. (DWARF_FRAME_RETURN_COLUMN, DWARF_FRAME_REGNUM): Remove. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@176102 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/defaults.h')
-rw-r--r--gcc/defaults.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/gcc/defaults.h b/gcc/defaults.h
index 118cb1c2565..6bacb3c0139 100644
--- a/gcc/defaults.h
+++ b/gcc/defaults.h
@@ -413,6 +413,26 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define DWARF_FRAME_REGISTERS FIRST_PSEUDO_REGISTER
#endif
+/* Offsets recorded in opcodes are a multiple of this alignment factor. */
+#ifndef DWARF_CIE_DATA_ALIGNMENT
+#ifdef STACK_GROWS_DOWNWARD
+#define DWARF_CIE_DATA_ALIGNMENT (-((int) UNITS_PER_WORD))
+#else
+#define DWARF_CIE_DATA_ALIGNMENT ((int) UNITS_PER_WORD)
+#endif
+#endif
+
+/* The DWARF 2 CFA column which tracks the return address. Normally this
+ is the column for PC, or the first column after all of the hard
+ registers. */
+#ifndef DWARF_FRAME_RETURN_COLUMN
+#ifdef PC_REGNUM
+#define DWARF_FRAME_RETURN_COLUMN DWARF_FRAME_REGNUM (PC_REGNUM)
+#else
+#define DWARF_FRAME_RETURN_COLUMN DWARF_FRAME_REGISTERS
+#endif
+#endif
+
/* How to renumber registers for dbx and gdb. If not defined, assume
no renumbering is necessary. */
@@ -420,6 +440,19 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define DBX_REGISTER_NUMBER(REGNO) (REGNO)
#endif
+/* The mapping from gcc register number to DWARF 2 CFA column number.
+ By default, we just provide columns for all registers. */
+#ifndef DWARF_FRAME_REGNUM
+#define DWARF_FRAME_REGNUM(REG) DBX_REGISTER_NUMBER (REG)
+#endif
+
+/* Map register numbers held in the call frame info that gcc has
+ collected using DWARF_FRAME_REGNUM to those that should be output in
+ .debug_frame and .eh_frame. */
+#ifndef DWARF2_FRAME_REG_OUT
+#define DWARF2_FRAME_REG_OUT(REGNO, FOR_EH) (REGNO)
+#endif
+
/* Default sizes for base C types. If the sizes are different for
your target, you should override these values by defining the
appropriate symbols in your tm.h file. */