dwarf2out_frame_init broken

Andreas Schwab schwab@issan.informatik.uni-dortmund.de
Mon Feb 2 02:08:00 GMT 1998


Even if DWARF2_UNWIND_INFO is defined to zero the user can still force
dwarf2 unwind information instead of setjmp with -fno-sjlj-exceptions.
Thus dwarf2out_frame_init must still call dwarf2out_def_cfa and
initial_return_save in that case.  This makes it consistent with
dwarf2out_frame_finish.  Note that dwarf2out_frame_init is only called
when dwarf2out_do_frame returns nonzero.


1998-01-30  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* dwarf2out.c (dwarf2out_frame_init): Undo last change, so that
	-fno-sjlj-exceptions works for a target that defines
	DWARF2_UNWIND_INFO as zero.

*** egcs-980129/gcc/dwarf2out.c.~1~	Fri Jan 30 19:09:24 1998
--- egcs-980129/gcc/dwarf2out.c	Fri Jan 30 20:52:13 1998
*************** dwarf2out_frame_init ()
*** 1885,1896 ****
       sake of lookup_cfa.  */
  
  #ifdef DWARF2_UNWIND_INFO
!   if (DWARF2_UNWIND_INFO)
!     {
!       /* On entry, the Canonical Frame Address is at SP.  */
!       dwarf2out_def_cfa (NULL, STACK_POINTER_REGNUM, INCOMING_FRAME_SP_OFFSET);
!       initial_return_save (INCOMING_RETURN_ADDR_RTX);
!     }
  #endif
  }
  
--- 1885,1893 ----
       sake of lookup_cfa.  */
  
  #ifdef DWARF2_UNWIND_INFO
!   /* On entry, the Canonical Frame Address is at SP.  */
!   dwarf2out_def_cfa (NULL, STACK_POINTER_REGNUM, INCOMING_FRAME_SP_OFFSET);
!   initial_return_save (INCOMING_RETURN_ADDR_RTX);
  #endif
  }
  

-- 
Andreas Schwab                                      "And now for something
schwab@issan.informatik.uni-dortmund.de              completely different"
schwab@gnu.org



More information about the Gcc mailing list