This is the mail archive of the gdb-patches@sources.redhat.com 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: [patch rfc] Per-frame frame-base


I've checked this in, and then quickly followed it by the attached. I forgot to update that comment :-(

Andrew


2003-04-01 Andrew Cagney <cagney at redhat dot com>


        Add frame debug info addresses:
        * frame-base.c: New file.
        * frame-base.h: New file.
        * frame.h (struct frame_base): Add opaque declaration.
        (get_frame_base): Update comment.
        (get_frame_base_address): Declare.
        (get_frame_locals_address): Declare.
        (get_frame_args_address): Declare.
        (struct frame_info): Add "base" and "base_cache".  Update
        comments on the unwinder.
        * frame.c: Include "frame-base.h".
        (get_frame_locals_address): New function.
        (get_frame_base_address): New function.
        (get_frame_args_address): New function.
        * findvar.c (read_var_value): Use get_frame_locals_address and
        get_frame_args_address.
        * stack.c (frame_info): Use get_frame_locals_address and
        get_frame_args_address.
        (FRAME_ARGS_ADDRESS_CORRECT): Delete conditionally defined macro,
        moved to "frame-base.c".
        * printcmd.c (print_frame_nameless_args): Ditto.
        * symtab.h (address_class): Update comments.
        * dwarf2loc.c (dwarf_expr_frame_base): Add note about
        get_frame_base_address.
        * dwarf2expr.c (execute_stack_op): Ditto.
        * Makefile.in (frame_base_h): Define.
        (frame.o): Update dependencies.
        (frame-base.o): Add dependencies.
        (SFILES): Add frame-base.c.
        (COMMON_OBS): Add frame-base.o.

2003-04-01  Andrew Cagney  <cagney at redhat dot com>

	* frame.h (get_frame_locals_address, get_frame_args_address):
	Refer to the base address, instead of the address of the first
	local or parameter.
	
Index: frame.h
===================================================================
RCS file: /cvs/src/src/gdb/frame.h,v
retrieving revision 1.79
diff -u -r1.79 frame.h
--- frame.h	1 Apr 2003 19:11:01 -0000	1.79
+++ frame.h	1 Apr 2003 19:15:22 -0000
@@ -202,17 +202,17 @@
    meaningful to the frame's high-level debug info.  */
 extern CORE_ADDR get_frame_base_address (struct frame_info *);
 
-/* Assuming that a frame is `normal', return the address of the first
-   local variable, or 0 if the information isn't available.  NOTE:
+/* Assuming that a frame is `normal', return the base-address of the
+   local variables, or 0 if the information isn't available.  NOTE:
    This address is really only meaningful to the frame's high-level
    debug info.  Typically, the argument and locals share a single
    base-address.  */
 extern CORE_ADDR get_frame_locals_address (struct frame_info *);
 
-/* Assuming that a frame is `normal', return the address of the first
-   parameter, or 0 if that information isn't available.  NOTE: This
-   address is really only meaningful to the frame's high-level debug
-   info.  Typically, the argument and locals share a single
+/* Assuming that a frame is `normal', return the base-address of the
+   parameter list, or 0 if that information isn't available.  NOTE:
+   This address is really only meaningful to the frame's high-level
+   debug info.  Typically, the argument and locals share a single
    base-address.  */
 extern CORE_ADDR get_frame_args_address (struct frame_info *);
 

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