This is the mail archive of the gdb@sourceware.org mailing list for the GDB 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]

Re: Problem reading corefiles on ARM


>>>>> "Joe" == Joe Buck <Joe.Buck@synopsys.COM> writes:

 Joe> I wrote: There are several effects from "noreturn".  We would
 Joe> want some of these effects for "abort", but not others, to get
 Joe> debuggable code without degrading compile-time warnings.

 Joe> On Wed, Aug 06, 2008 at 01:37:51PM -0400, Paul Koning wrote:
 >> So the issue is that two unrelated features are currently combined
 >> in a single attribute:
 >> 
 >> 1. This function doesn't return, do the right thing with warnings
 >> in the caller of this function.
 >> 
 >> 2. Don't bother saving registers when calling this function
 >> because it won't return so the registers aren't needed afterwards.
 >> 
 >> The issue is that #2 doesn't apply to "abort" because the
 >> registers ARE needed afterwards -- at debug time.

 Joe> But not necessarily all of them (depending on platform).  That
 Joe> is, the caller-saved registers don't have to be saved because
 Joe> the function isn't returning, but there has to be enough of a
 Joe> stack frame so that a debugger can set a breakpoint on the abort
 Joe> and determine who the caller was.

That's sufficient for live debugging but not for corefiles.  In that
case you do want caller-saved registers, because they may contain
local variable values that don't live in memory at the time of the
abort call.

      paul


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