From 42efa47a82619e10851af335d38a8b8d75f12aab Mon Sep 17 00:00:00 2001 From: Andrew Cagney Date: Thu, 26 Jun 2003 17:18:43 +0000 Subject: 2003-06-26 Andrew Cagney * gdbarch.sh (FRAME_ARGS_ADDRESS): Add predicate. Deprecate. (FRAME_LOCALS_ADDRESS): Add predicate. Deprecate. * gdbarch.h, gdbarch.c: Re-generate. * frame-base.c (default_frame_args_address): Update. Use default_frame_base_address when DEPRECATED_FRAME_ARGS_ADDRESS is not available. (default_frame_locals_address): Ditto for DEPRECATED_FRAME_LOCALS_ADDRESS. * vax-tdep.c (vax_sigtramp_saved_pc): Update. (vax_frame_num_args): Update. (vax_gdbarch_init): Update. * rs6000-tdep.c (rs6000_gdbarch_init): Update. * ns32k-tdep.c (ns32k_gdbarch_init): Update. * mcore-tdep.c (mcore_gdbarch_init): Update. * m68hc11-tdep.c (m68hc11_gdbarch_init): Update. * ia64-tdep.c (ia64_gdbarch_init): Update. * symtab.h (address_class): Update comments. * ns32k-tdep.c (ns32k_sigtramp_saved_pc): Update. * config/sparc/tm-sparc.h (DEPRECATED_FRAME_ARGS_ADDRESS): Update. (DEPRECATED_FRAME_LOCALS_ADDRESS): Update. * config/pa/tm-hppa64.h (DEPRECATED_FRAME_ARGS_ADDRESS): Update. (DEPRECATED_FRAME_LOCALS_ADDRESS): Update. (DEPRECATED_FRAME_LOCALS_ADDRESS): Update. * config/m68k/tm-delta68.h (DEPRECATED_FRAME_ARGS_ADDRESS): Update. * alpha-mdebug-tdep.c: Update. * ada-lang.c (add_symbols_from_enclosing_procs): Update. --- gdb/frame-base.c | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) (limited to 'gdb/frame-base.c') diff --git a/gdb/frame-base.c b/gdb/frame-base.c index 6f666a7..0865a0c 100644 --- a/gdb/frame-base.c +++ b/gdb/frame-base.c @@ -24,9 +24,9 @@ #include "frame.h" /* A default frame base implementations. If it wasn't for the old - FRAME_LOCALS_ADDRESS and FRAME_ARGS_ADDRESS, these could be - combined into a single function. All architectures really need to - override this. */ + DEPRECATED_FRAME_LOCALS_ADDRESS and DEPRECATED_FRAME_ARGS_ADDRESS, + these could be combined into a single function. All architectures + really need to override this. */ static CORE_ADDR default_frame_base_address (struct frame_info *next_frame, void **this_cache) @@ -38,15 +38,25 @@ default_frame_base_address (struct frame_info *next_frame, void **this_cache) static CORE_ADDR default_frame_locals_address (struct frame_info *next_frame, void **this_cache) { - struct frame_info *this_frame = get_prev_frame (next_frame); - return FRAME_LOCALS_ADDRESS (this_frame); + if (DEPRECATED_FRAME_LOCALS_ADDRESS_P ()) + { + /* This is bad. The computation of per-frame locals address + should use a per-frame frame-base. */ + struct frame_info *this_frame = get_prev_frame (next_frame); + return DEPRECATED_FRAME_LOCALS_ADDRESS (this_frame); + } + return default_frame_base_address (next_frame, this_cache); } static CORE_ADDR default_frame_args_address (struct frame_info *next_frame, void **this_cache) { - struct frame_info *this_frame = get_prev_frame (next_frame); - return FRAME_ARGS_ADDRESS (this_frame); + if (DEPRECATED_FRAME_ARGS_ADDRESS_P ()) + { + struct frame_info *this_frame = get_prev_frame (next_frame); + return DEPRECATED_FRAME_ARGS_ADDRESS (this_frame); + } + return default_frame_base_address (next_frame, this_cache); } const struct frame_base default_frame_base = { -- cgit v1.1