| Index: gdb/frame.h
|
| diff --git a/gdb/frame.h b/gdb/frame.h
|
| index 7b42b56c58e7be7fdaeebdfbbc034bfa9b5ddcee..f8d5bc17a71576f4bd0b1feaa9eb9c75a4eb8d44 100644
|
| --- a/gdb/frame.h
|
| +++ b/gdb/frame.h
|
| @@ -1,7 +1,6 @@
|
| /* Definitions for dealing with stack frames, for GDB, the GNU debugger.
|
|
|
| - Copyright (C) 1986, 1988-1994, 1996-2004, 2007-2012 Free Software
|
| - Foundation, Inc.
|
| + Copyright (C) 1986-2013 Free Software Foundation, Inc.
|
|
|
| This file is part of GDB.
|
|
|
| @@ -134,9 +133,11 @@ struct frame_id
|
| unsigned int code_addr_p : 1;
|
| unsigned int special_addr_p : 1;
|
|
|
| - /* The inline depth of this frame. A frame representing a "called"
|
| - inlined function will have this set to a nonzero value. */
|
| - int inline_depth;
|
| + /* It is non-zero for a frame made up by GDB without stack data
|
| + representation in inferior, such as INLINE_FRAME or TAILCALL_FRAME.
|
| + Caller of inlined function will have it zero, each more inner called frame
|
| + will have it increasingly one, two etc. Similarly for TAILCALL_FRAME. */
|
| + int artificial_depth;
|
| };
|
|
|
| /* Methods for constructing and comparing Frame IDs. */
|
| @@ -151,7 +152,7 @@ extern const struct frame_id outer_frame_id;
|
|
|
| /* Flag to control debugging. */
|
|
|
| -extern int frame_debug;
|
| +extern unsigned int frame_debug;
|
|
|
| /* Construct a frame ID. The first parameter is the frame's constant
|
| stack address (typically the outer-bound), and the second the
|
| @@ -178,9 +179,10 @@ extern struct frame_id frame_id_build_wild (CORE_ADDR stack_addr);
|
| ID. */
|
| extern int frame_id_p (struct frame_id l);
|
|
|
| -/* Returns non-zero when L is a valid frame representing an inlined
|
| - function. */
|
| -extern int frame_id_inlined_p (struct frame_id l);
|
| +/* Returns non-zero when L is a valid frame representing a frame made up by GDB
|
| + without stack data representation in inferior, such as INLINE_FRAME or
|
| + TAILCALL_FRAME. */
|
| +extern int frame_id_artificial_p (struct frame_id l);
|
|
|
| /* Returns non-zero when L and R identify the same frame, or, if
|
| either L or R have a zero .func, then the same frame base. */
|
| @@ -546,14 +548,6 @@ extern void put_frame_register_bytes (struct frame_info *frame, int regnum,
|
|
|
| extern CORE_ADDR frame_unwind_caller_pc (struct frame_info *frame);
|
|
|
| -/* Same as frame_unwind_caller_pc, but returns a boolean indication of
|
| - whether the caller PC is determinable (when the PC is unavailable,
|
| - it will not be), instead of possibly throwing an error trying to
|
| - read unavailable memory or registers. */
|
| -
|
| -extern int frame_unwind_caller_pc_if_available (struct frame_info *this_frame,
|
| - CORE_ADDR *pc);
|
| -
|
| /* Discard the specified frame. Restoring the registers to the state
|
| of the caller. */
|
| extern void frame_pop (struct frame_info *frame);
|
| @@ -657,32 +651,17 @@ extern CORE_ADDR get_pc_function_start (CORE_ADDR);
|
|
|
| extern struct frame_info *find_relative_frame (struct frame_info *, int *);
|
|
|
| -extern void show_and_print_stack_frame (struct frame_info *fi, int print_level,
|
| - enum print_what print_what);
|
| -
|
| extern void print_stack_frame (struct frame_info *, int print_level,
|
| - enum print_what print_what);
|
| + enum print_what print_what,
|
| + int set_current_sal);
|
|
|
| extern void print_frame_info (struct frame_info *, int print_level,
|
| - enum print_what print_what, int args);
|
| + enum print_what print_what, int args,
|
| + int set_current_sal);
|
|
|
| extern struct frame_info *block_innermost_frame (const struct block *);
|
|
|
| -extern int deprecated_pc_in_call_dummy (struct gdbarch *gdbarch, CORE_ADDR pc);
|
| -
|
| -/* FIXME: cagney/2003-02-02: Should be deprecated or replaced with a
|
| - function called get_frame_register_p(). This slightly weird (and
|
| - older) variant of get_frame_register() returns zero (indicating the
|
| - register value is unavailable/invalid) if either: the register
|
| - isn't cached; or the register has been optimized out; or the
|
| - register contents are unavailable (because they haven't been
|
| - collected in a traceframe). Problem is, neither check is exactly
|
| - correct. A register can't be optimized out (it may not have been
|
| - saved as part of a function call); The fact that a register isn't
|
| - in the register cache doesn't mean that the register isn't
|
| - available (it could have been fetched from memory). */
|
| -
|
| -extern int frame_register_read (struct frame_info *frame, int regnum,
|
| +extern int deprecated_frame_register_read (struct frame_info *frame, int regnum,
|
| gdb_byte *buf);
|
|
|
| /* From stack.c. */
|
| @@ -726,6 +705,8 @@ struct frame_arg
|
| extern void read_frame_arg (struct symbol *sym, struct frame_info *frame,
|
| struct frame_arg *argp,
|
| struct frame_arg *entryargp);
|
| +extern void read_frame_local (struct symbol *sym, struct frame_info *frame,
|
| + struct frame_arg *argp);
|
|
|
| extern void args_info (char *, int);
|
|
|
|
|