[haiku-bugs] Re: [Haiku] #12548: Debugger: implement architectural unwinding of frameless functions (was: Debugger: missing stack frames)

  • From: "anevilyak" <trac@xxxxxxxxxxxx>
  • Date: Wed, 30 Dec 2015 02:50:55 -0000

#12548: Debugger: implement architectural unwinding of frameless functions
-------------------------------------+----------------------------
Reporter: jessicah | Owner: anevilyak
Type: enhancement | Status: new
Priority: normal | Milestone: Unscheduled
Component: Applications/Debugger | Version: R1/Development
Resolution: | Keywords:
Blocked By: | Blocking:
Has a Patch: 0 | Platform: All
-------------------------------------+----------------------------
Changes (by anevilyak):

* type: bug => enhancement


Comment:

Replying to [comment:1 bonefish]:

In theory it would be possible to deal more intelligently with frameless
functions. Debugger could analyze the function to find a code path that
leads out of the function and thus determine the return address and the
calling function's stack and frame pointer.

That's indeed a (long-standing) TODO: http://cgit.haiku-
os.org/haiku/tree/src/apps/debugger/arch/x86/ArchitectureX86.cpp#n392

This was one of those issues I've been putting off since it somewhat
dovetails into handling of code compiled with `-fomit-frame-pointer`; at
least AFAICT, completely handling the latter correctly would also have the
side effect of dealing with the frameless case as well, unless I'm missing
something. Up until now I haven't really had the time to familiarize
myself enough with x86 assembly to actually implement that though.

--
Ticket URL: <https://dev.haiku-os.org/ticket/12548#comment:2>
Haiku <https://dev.haiku-os.org>
Haiku - the operating system.

Other related posts:

  • » [haiku-bugs] Re: [Haiku] #12548: Debugger: implement architectural unwinding of frameless functions (was: Debugger: missing stack frames) - anevilyak