Commit 948d330e by Richard Henderson Committed by Richard Henderson

dwarf2: Move CFI output routines to dwarf2cfi.c.

        * defaults.h (DWARF2_ADDR_SIZE, DWARF_OFFSET_SIZE,
        DWARF_TYPE_SIGNATURE_SIZE): Move from ...
        * dwarf2out.c: ... here.
        (output_all_cfis): Remove.
        (dwarf2out_switch_text_section): Use output_cfis directly.
        (size_of_locs): Export.
        (output_loc_sequence, output_loc_sequence_raw): Export.
        (div_data_align, need_data_align_sf_opcode, dwarf_cfi_name, output_cfi,
        output_cfi_directive, dwarf2out_emit_cfi, output_cfis, output_cfa_loc,
        output_cfa_loc_raw): Move to ...
        * dwarfcfi.c: ... here.
        * dwarf2out.h: Update decls.

From-SVN: r176107
parent db42e39d
2011-07-09 Richard Henderson <rth@redhat.com>
* defaults.h (DWARF2_ADDR_SIZE, DWARF_OFFSET_SIZE,
DWARF_TYPE_SIGNATURE_SIZE): Move from ...
* dwarf2out.c: ... here.
(output_all_cfis): Remove.
(dwarf2out_switch_text_section): Use output_cfis directly.
(size_of_locs): Export.
(output_loc_sequence, output_loc_sequence_raw): Export.
(div_data_align, need_data_align_sf_opcode, dwarf_cfi_name, output_cfi,
output_cfi_directive, dwarf2out_emit_cfi, output_cfis, output_cfa_loc,
output_cfa_loc_raw): Move to ...
* dwarfcfi.c: ... here.
* dwarf2out.h: Update decls.
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.
......
......@@ -453,6 +453,28 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define DWARF2_FRAME_REG_OUT(REGNO, FOR_EH) (REGNO)
#endif
/* 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
/* The size in bytes of a DWARF 4 type signature. */
#ifndef DWARF_TYPE_SIGNATURE_SIZE
#define DWARF_TYPE_SIGNATURE_SIZE 8
#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. */
......
......@@ -228,11 +228,18 @@ extern struct dw_loc_descr_struct *mem_loc_descriptor
extern enum machine_mode get_address_mode (rtx mem);
extern dw_fde_ref dwarf2out_alloc_current_fde (void);
extern unsigned long size_of_locs (dw_loc_descr_ref);
extern void output_loc_sequence (dw_loc_descr_ref, int);
extern void output_loc_sequence_raw (dw_loc_descr_ref);
/* Interface from dwarf2cfi.c to dwarf2out.c. */
extern void lookup_cfa_1 (dw_cfi_ref cfi, dw_cfa_location *loc,
dw_cfa_location *remember);
extern bool cfa_equal_p (const dw_cfa_location *, const dw_cfa_location *);
extern void output_cfi (dw_cfi_ref, dw_fde_ref, int);
extern void output_cfis (cfi_vec, int, bool, dw_fde_ref, bool);
extern GTY(()) cfi_vec cie_cfi_vec;
/* Interface from dwarf2*.c to the rest of the compiler. */
......
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