From 658f32fda265f363b18b912ad3560eebeeb28b64 Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Sat, 4 Feb 2006 22:08:04 +0000 Subject: re PR debug/24444 (invalid register in debug info) PR debug/24444 * config/ia64/ia64.c: Include debug.h. (MAX_ARTIFICIAL_LABEL_BYTES): New. (ia64_label_after_insn, ia64_dwarf2out_def_steady_cfa): New. (IA64_CHANGE_CFA_IN_EPILOGUE): Define to 0. (process_epilogue, process_set, process_for_unwind_directive): Output unwind info only if requested. Add CFA info if requested. Add new arguments as needed. Adjust callers. * config/ia64/ia64.h (ARG_POINTER_CFA_OFFSET): Override incorrect default. (DWARF2_FRAME_INFO): Define to zero. * config/ia64/unwind-ia64.c: Remove code that compensated for the CFA offset error fixed above. * config/ia64/t-ia64 (ia64.o): Depend on debug.h. * dwarf2out.c (DWARF2_FRAME_INFO): Define default. (dwarf2out_do_frame): Require nonzero DWARF2_UNWIND_INFO for -funwind-tables and -fexceptions to enable frame info. (dwarf2out_frame_init): Define initial CFA even if DWARF2_UNWIND_INFO is disabled. Call initial_return_save if DWARF2_UNWIND_INFO is nonzero, not just defined. (dwarf2out_frame_finish): Output non-EH call frame info only if DWARF2_FRAME_INFO is nonzero. (convert_cfa_to_loc_list, compute_frame_pointer_to_cfa_displacement): Define even if unwind info is not supported. (gen_subprogram_die): Use the above unconditionally. Remove legacy alternate code. * toplev.c (compile_file): Compile in call to dwarf2out_frame_finish if DWARF2_DEBUGGING_INFO is defined. (lang_dependent_init): Ditto for dwarf2out_frame_init. From-SVN: r110594 --- gcc/toplev.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gcc/toplev.c') diff --git a/gcc/toplev.c b/gcc/toplev.c index f6cfe7c..6b49f17 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -1028,7 +1028,7 @@ compile_file (void) /* Do dbx symbols. */ timevar_push (TV_SYMOUT); -#ifdef DWARF2_UNWIND_INFO +#if defined DWARF2_DEBUGGING_INFO || defined DWARF2_UNWIND_INFO if (dwarf2out_do_frame ()) dwarf2out_frame_finish (); #endif @@ -1868,7 +1868,7 @@ lang_dependent_init (const char *name) predefined types. */ timevar_push (TV_SYMOUT); -#ifdef DWARF2_UNWIND_INFO +#if defined DWARF2_DEBUGGING_INFO || defined DWARF2_UNWIND_INFO if (dwarf2out_do_frame ()) dwarf2out_frame_init (); #endif -- cgit v1.1