This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [RFC 2/5] Frame unwinding using struct value
- From: Eli Zaretskii <eliz at gnu dot org>
- To: Daniel Jacobowitz <drow at false dot org>
- Cc: gdb-patches at sourceware dot org
- Date: Tue, 01 Apr 2008 06:27:58 +0300
- Subject: Re: [RFC 2/5] Frame unwinding using struct value
- References: <20080331221024.GA22334@caradoc.them.org>
- Reply-to: Eli Zaretskii <eliz at gnu dot org>
> 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.