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. From-SVN: r176102
This commit is contained in:
parent
a8e5c0e77e
commit
db42e39d81
4 changed files with 44 additions and 117 deletions
|
@ -1,3 +1,14 @@
|
|||
2011-07-09 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* 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.
|
||||
|
||||
2011-07-09 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* dwarf2cfi.c (cie_return_save): New.
|
||||
|
|
|
@ -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. */
|
||||
|
|
|
@ -55,88 +55,8 @@ along with GCC; see the file COPYING3. If not see
|
|||
#define INCOMING_RETURN_ADDR_RTX (gcc_unreachable (), NULL_RTX)
|
||||
#endif
|
||||
|
||||
/* The size of the target's pointer type. */
|
||||
#ifndef PTR_SIZE
|
||||
#define PTR_SIZE (POINTER_SIZE / BITS_PER_UNIT)
|
||||
#endif
|
||||
|
||||
/* Maximum size (in bytes) of an artificially generated label. */
|
||||
#define MAX_ARTIFICIAL_LABEL_BYTES 30
|
||||
|
||||
/* The size of addresses as they appear in the Dwarf 2 data.
|
||||
Some architectures use word addresses to refer to code locations,
|
||||
but Dwarf 2 info always uses byte addresses. On such machines,
|
||||
Dwarf 2 addresses need to be larger than the architecture's
|
||||
pointers. */
|
||||
#ifndef DWARF2_ADDR_SIZE
|
||||
#define DWARF2_ADDR_SIZE (POINTER_SIZE / BITS_PER_UNIT)
|
||||
#endif
|
||||
|
||||
/* The size in bytes of a DWARF field indicating an offset or length
|
||||
relative to a debug info section, specified to be 4 bytes in the
|
||||
DWARF-2 specification. The SGI/MIPS ABI defines it to be the same
|
||||
as PTR_SIZE. */
|
||||
|
||||
#ifndef DWARF_OFFSET_SIZE
|
||||
#define DWARF_OFFSET_SIZE 4
|
||||
#endif
|
||||
|
||||
/* According to the (draft) DWARF 3 specification, the initial length
|
||||
should either be 4 or 12 bytes. When it's 12 bytes, the first 4
|
||||
bytes are 0xffffffff, followed by the length stored in the next 8
|
||||
bytes.
|
||||
|
||||
However, the SGI/MIPS ABI uses an initial length which is equal to
|
||||
DWARF_OFFSET_SIZE. It is defined (elsewhere) accordingly. */
|
||||
|
||||
#ifndef DWARF_INITIAL_LENGTH_SIZE
|
||||
#define DWARF_INITIAL_LENGTH_SIZE (DWARF_OFFSET_SIZE == 4 ? 4 : 12)
|
||||
#endif
|
||||
|
||||
/* Round SIZE up to the nearest BOUNDARY. */
|
||||
#define DWARF_ROUND(SIZE,BOUNDARY) \
|
||||
((((SIZE) + (BOUNDARY) - 1) / (BOUNDARY)) * (BOUNDARY))
|
||||
|
||||
/* 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
|
||||
|
||||
/* CIE identifier. */
|
||||
#if HOST_BITS_PER_WIDE_INT >= 64
|
||||
#define DWARF_CIE_ID \
|
||||
(unsigned HOST_WIDE_INT) (DWARF_OFFSET_SIZE == 4 ? DW_CIE_ID : DW64_CIE_ID)
|
||||
#else
|
||||
#define DWARF_CIE_ID DW_CIE_ID
|
||||
#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
|
||||
|
||||
/* 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
|
||||
|
||||
/* A vector of call frame insns for the CIE. */
|
||||
cfi_vec cie_cfi_vec;
|
||||
|
|
|
@ -122,17 +122,6 @@ int vms_file_stats_name (const char *, long long *, long *, char *, int *);
|
|||
#pragma GCC poison DWARF2_UNWIND_INFO DWARF2_FRAME_INFO
|
||||
#endif
|
||||
|
||||
#ifndef INCOMING_RETURN_ADDR_RTX
|
||||
#define INCOMING_RETURN_ADDR_RTX (gcc_unreachable (), NULL_RTX)
|
||||
#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
|
||||
|
||||
/* The size of the target's pointer type. */
|
||||
#ifndef PTR_SIZE
|
||||
#define PTR_SIZE (POINTER_SIZE / BITS_PER_UNIT)
|
||||
|
@ -211,15 +200,6 @@ static GTY(()) section *debug_frame_section;
|
|||
#define DWARF_ROUND(SIZE,BOUNDARY) \
|
||||
((((SIZE) + (BOUNDARY) - 1) / (BOUNDARY)) * (BOUNDARY))
|
||||
|
||||
/* 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
|
||||
|
||||
/* CIE identifier. */
|
||||
#if HOST_BITS_PER_WIDE_INT >= 64
|
||||
#define DWARF_CIE_ID \
|
||||
|
@ -309,23 +289,6 @@ static GTY(()) rtx current_unit_personality;
|
|||
#define LN_PROLOG_AS_LABEL "LASLTP"
|
||||
#define LN_PROLOG_END_LABEL "LELTP"
|
||||
#define DIE_LABEL_PREFIX "DW"
|
||||
|
||||
/* 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
|
||||
|
||||
/* 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
|
||||
|
||||
/* Match the base name of a file to the base name of a compilation unit. */
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue