]> gcc.gnu.org Git - gcc.git/commit
Implement dwarf2 exception handling for the ARM.
authorJason Merrill <jason@casey.cygnus.com>
Thu, 23 Mar 2000 00:29:55 +0000 (00:29 +0000)
committerJason Merrill <jason@gcc.gnu.org>
Thu, 23 Mar 2000 00:29:55 +0000 (19:29 -0500)
commit2c84914526bd6e657d8e55291fe7ce3f1395c766
treeb3b34069ee82d4ab6af7bad503c9132d5330f934
parentcb1072f45021824406e8ac504a111d6bbccb5b81
Implement dwarf2 exception handling for the ARM.

        * config/arm/arm.h (INCOMING_RETURN_ADDR_RTX): Define.
        (DWARF_FRAME_RETURN_COLUMN): Define.
        * config/arm/arm.c (emit_multi_reg_push): Return rtx.  Attach
        REG_FRAME_RELATED_EXPR note.
        (emit_sfm): Likewise.
        (arm_expand_prologue): Set RTX_FRAME_RELATED_P on everything.
        * dwarf2out.c (reg_save): Handle saving a register to itself.
        (dwarf2out_frame_debug_expr): Handle an intermediate cfa reg.
        * except.c (eh_regs): Don't use the static chain reg if it's
        callee-saved.
        * frame.h (frame_state): Add cfa_saved field.
        * frame.c (execute_cfa_insn): Set it.
        * libgcc2.c (throw_helper): Don't adjust sp if it's restored in
        the epilogue.
        * function.c (ARG_POINTER_CFA_OFFSET): Default to FIRST_PARM_OFFSET.
        Now takes a parm.
        (instantiate_virtual_regs): Adjust.
        * tm.texi: Adjust.
        * config/m68k/m68k.h (ARG_POINTER_CFA_OFFSET): Don't define.
        * config/ns32k/ns32k.h (ARG_POINTER_CFA_OFFSET): Don't define.
        * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): Take a parm.

        * dwarf2out.c (reg_number): Refer to FIRST_PSEUDO_REGISTER.
        (initial_return_save): Use DWARF_FRAME_REGNUM, not reg_number.

From-SVN: r32696
13 files changed:
gcc/ChangeLog
gcc/config/arm/arm.c
gcc/config/arm/arm.h
gcc/config/m68k/m68k.h
gcc/config/ns32k/ns32k.h
gcc/config/sparc/sparc.h
gcc/dwarf2out.c
gcc/except.c
gcc/frame.c
gcc/frame.h
gcc/function.c
gcc/libgcc2.c
gcc/tm.texi
This page took 0.056746 seconds and 5 git commands to generate.