[RFC 2/5] Frame unwinding using struct value

Eli Zaretskii eliz@gnu.org
Tue Apr 1 13:23:00 GMT 2008


> Date: Mon, 31 Mar 2008 18:10:24 -0400
> From: Daniel Jacobowitz <drow@false.org>
> 
> 2008-03-31  Daniel Jacobowitz  <dan@codesourcery.com>
> 
> 	* gdbint.texinfo (Stack Frames): New chapter.
> 	(Algorithms): Move Frames text to the new chapter.
> 	(Target Conditionals): Delete SAVE_DUMMY_FRAME_TOS.  Document
> 	gdbarch_dummy_id instead of gdbarch_unwind_dummy_id.

Thanks, this part is approved, but I have some comments:

> +@node Stack Frames
> +@chapter Stack Frames
> +
> +@cindex frame
> +@cindex call stack frame
> +A frame is a construct that @value{GDBN} uses to keep track of calling
> +and called functions.
> +
> +@cindex frame, unwind

It is not useful to have several index entries that begin with the
same string and point to the same page.  So I suggest to replace the
last one with "@cindex unwind frame".

> +Developers wishing to learn more about unwinders, are encouraged to
> +read the @sc{dwarf} specification.

How about a pointer to the DWARF Spec here?

> +is a sentinel frame, then @code{get_frame_type (@var{f}) ==
> +SENTINEL_FRAME}.

I would use @equiv{} here, of even @expansion{}, instead of a literal
"==".

> +@section Selecting an Unwinder

Is it a good idea to have a section without a node?

> +The architecture registers a list of frame unwinders (@code{struct
> +frame_unwind}), using the functions
> +@code{frame_unwind_prepend_unwinder} and
> +@code{frame_unwind_append_unwinder}.  Each unwinder includes a

Please add an @findex entry for each function you mention.

> +The returned value must have the same type as the register.  It may
> +have any lval type.

I think we should say "lvalue" here, not "lval".

> +Same as @code{frame_unwind_got_constant}, excep that the value is a target
                                             ^^^^^
A typo.



More information about the Gdb-patches mailing list