This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

dwarf2 initial_return_save vs gdb


I'm looking at the H8/300 frame debugging info, and it seems to me
that gdb needs to have at least *some* information about where the
return address is in order to unwind the stack using dwarf2 call frame
information, perhaps because H8/300 saves the RA on the stack, not in
a register.  However, we only set up the RA column if we're using
dwarf2 for EH.  Why?

$ grep -C 1 '^ .*if *(.*DWARF2_UNWIND_INFO' *
dwarf2out.c-#ifdef DWARF2_UNWIND_INFO
dwarf2out.c:  if (DWARF2_UNWIND_INFO)
dwarf2out.c-    initial_return_save (INCOMING_RETURN_ADDR_RTX);

With my local dwarf2 support patches, commenting out the if() above is
the difference between backtraces working, and not working.

Can we call initial_return_save for non-EH unwind too?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]