Commit a66272f6 by Olivier Hainque Committed by Olivier Hainque

defaults.h: (DWARF_REG_TO_UNWIND_COLUMN): Define default.

2014-12-05  Olivier Hainque  <hainque@adacore.com>

        gcc/
        * defaults.h: (DWARF_REG_TO_UNWIND_COLUMN): Define default.
        * dwarf2cfi.c (init_one_dwarf_reg_size): Honor
        DWARF_REG_TO_UNWIND_COLUMN.

        libgcc/
        * unwind-dw2.c (DWARF_REG_TO_UNWIND_COLUMN): Remove default def,
        now provided by defaults.h.

From-SVN: r218429
parent edbbaf3b
2014-12-05 Olivier Hainque <hainque@adacore.com> 2014-12-05 Olivier Hainque <hainque@adacore.com>
* defaults.h: (DWARF_REG_TO_UNWIND_COLUMN): Define default.
* dwarf2cfi.c (init_one_dwarf_reg_size): Honor
DWARF_REG_TO_UNWIND_COLUMN.
2014-12-05 Olivier Hainque <hainque@adacore.com>
* dwarf2cfi.c (init_one_dwarf_reg_size): New helper, processing * dwarf2cfi.c (init_one_dwarf_reg_size): New helper, processing
one particular reg for expand_builtin_init_dwarf_reg_sizes. one particular reg for expand_builtin_init_dwarf_reg_sizes.
(expand_builtin_init_dwarf_reg_sizes): Rework to use helper and (expand_builtin_init_dwarf_reg_sizes): Rework to use helper and
...@@ -438,6 +438,11 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ...@@ -438,6 +438,11 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define DWARF_FRAME_REGNUM(REG) DBX_REGISTER_NUMBER (REG) #define DWARF_FRAME_REGNUM(REG) DBX_REGISTER_NUMBER (REG)
#endif #endif
/* The mapping from dwarf CFA reg number to internal dwarf reg numbers. */
#ifndef DWARF_REG_TO_UNWIND_COLUMN
#define DWARF_REG_TO_UNWIND_COLUMN(REGNO) (REGNO)
#endif
/* Map register numbers held in the call frame info that gcc has /* Map register numbers held in the call frame info that gcc has
collected using DWARF_FRAME_REGNUM to those that should be output in collected using DWARF_FRAME_REGNUM to those that should be output in
.debug_frame and .eh_frame. */ .debug_frame and .eh_frame. */
......
...@@ -286,8 +286,9 @@ void init_one_dwarf_reg_size (int regno, machine_mode regmode, ...@@ -286,8 +286,9 @@ void init_one_dwarf_reg_size (int regno, machine_mode regmode,
{ {
const unsigned int dnum = DWARF_FRAME_REGNUM (regno); const unsigned int dnum = DWARF_FRAME_REGNUM (regno);
const unsigned int rnum = DWARF2_FRAME_REG_OUT (dnum, 1); const unsigned int rnum = DWARF2_FRAME_REG_OUT (dnum, 1);
const unsigned int dcol = DWARF_REG_TO_UNWIND_COLUMN (rnum);
const HOST_WIDE_INT slotoffset = rnum * GET_MODE_SIZE (slotmode); const HOST_WIDE_INT slotoffset = dcol * GET_MODE_SIZE (slotmode);
const HOST_WIDE_INT regsize = GET_MODE_SIZE (regmode); const HOST_WIDE_INT regsize = GET_MODE_SIZE (regmode);
init_state->processed_regno[regno] = true; init_state->processed_regno[regno] = true;
......
2014-12-05 Olivier Hainque <hainque@adacore.com>
* unwind-dw2.c (DWARF_REG_TO_UNWIND_COLUMN): Remove default def,
now provided by defaults.h.
2014-11-30 Oleg Endo <olegendo@gcc.gnu.org> 2014-11-30 Oleg Endo <olegendo@gcc.gnu.org>
* config/sh/lib1funcs.S: Check value of __SHMEDIA__ instead of checking * config/sh/lib1funcs.S: Check value of __SHMEDIA__ instead of checking
......
...@@ -55,10 +55,6 @@ ...@@ -55,10 +55,6 @@
#define PRE_GCC3_DWARF_FRAME_REGISTERS __LIBGCC_DWARF_FRAME_REGISTERS__ #define PRE_GCC3_DWARF_FRAME_REGISTERS __LIBGCC_DWARF_FRAME_REGISTERS__
#endif #endif
#ifndef DWARF_REG_TO_UNWIND_COLUMN
#define DWARF_REG_TO_UNWIND_COLUMN(REGNO) (REGNO)
#endif
/* ??? For the public function interfaces, we tend to gcc_assert that the /* ??? For the public function interfaces, we tend to gcc_assert that the
column numbers are in range. For the dwarf2 unwind info this does happen, column numbers are in range. For the dwarf2 unwind info this does happen,
although so far in a case that doesn't actually matter. although so far in a case that doesn't actually matter.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment