diff options
author | Andrew Cagney <cagney@redhat.com> | 2003-03-13 21:45:43 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2003-03-13 21:45:43 +0000 |
commit | 749b82f62646225e5854924e2c8997553ae12296 (patch) | |
tree | 41390eb641c29ea225ec0e4fe7058db9eab7808d | |
parent | d1dab75a19eaf4eba8c91b56afa2103eeca7374e (diff) | |
download | gdb-749b82f62646225e5854924e2c8997553ae12296.zip gdb-749b82f62646225e5854924e2c8997553ae12296.tar.gz gdb-749b82f62646225e5854924e2c8997553ae12296.tar.bz2 |
2003-03-13 Andrew Cagney <cagney@redhat.com>
* gdbarch.sh (DEPRECATED_POP_FRAME): Replace POP_FRAME.
* gdbarch.h, gdbarch.c: Regenerate.
* valops.c (hand_function_call): Update comment.
* stack.c (return_command): Update comment.
* config/sparc/tm-sparc.h (DEPRECATED_POP_FRAME): Update.
* config/pa/tm-hppa.h (DEPRECATED_POP_FRAME): Update.
* xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
* x86-64-tdep.c (x86_64_init_abi): Update.
* vax-tdep.c (vax_gdbarch_init): Update.
* v850-tdep.c (v850_gdbarch_init): Update.
* sparc-tdep.c (sparc_gdbarch_init): Update.
* sh-tdep.c (sh_gdbarch_init): Update.
* s390-tdep.c (s390_gdbarch_init): Update.
* rs6000-tdep.c (rs6000_gdbarch_init): Update.
* ns32k-tdep.c (ns32k_gdbarch_init): Update.
* mn10300-tdep.c (mn10300_gdbarch_init): Update.
* mips-tdep.c (mips_gdbarch_init): Update.
* mcore-tdep.c (mcore_gdbarch_init): Update.
* m68k-tdep.c (m68k_gdbarch_init): Update.
* m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
* ia64-tdep.c (ia64_gdbarch_init): Update.
* i386-tdep.c (i386_gdbarch_init): Update.
* hppa-tdep.c (hppa_gdbarch_init): Update.
* h8300-tdep.c (h8300_gdbarch_init): Update.
* frv-tdep.c (frv_gdbarch_init): Update.
* cris-tdep.c (cris_gdbarch_init): Update.
* avr-tdep.c (avr_gdbarch_init): Update.
* arm-tdep.c (arm_gdbarch_init): Update.
* alpha-tdep.c (alpha_gdbarch_init): Update.
2003-03-13 Andrew Cagney <cagney@redhat.com>
* gdbint.texinfo (Target Architecture Definition): Replace
POP_FRAME with DEPRECATED_POP_FRAME. Update description.
-rw-r--r-- | gdb/ChangeLog | 32 | ||||
-rw-r--r-- | gdb/alpha-tdep.c | 3 | ||||
-rw-r--r-- | gdb/arm-tdep.c | 2 | ||||
-rw-r--r-- | gdb/avr-tdep.c | 2 | ||||
-rw-r--r-- | gdb/config/pa/tm-hppa.h | 2 | ||||
-rw-r--r-- | gdb/config/sparc/tm-sparc.h | 2 | ||||
-rw-r--r-- | gdb/cris-tdep.c | 2 | ||||
-rw-r--r-- | gdb/doc/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/doc/gdbint.texinfo | 11 | ||||
-rw-r--r-- | gdb/frame.c | 4 | ||||
-rw-r--r-- | gdb/frv-tdep.c | 3 | ||||
-rw-r--r-- | gdb/gdbarch.c | 70 | ||||
-rw-r--r-- | gdb/gdbarch.h | 40 | ||||
-rwxr-xr-x | gdb/gdbarch.sh | 2 | ||||
-rw-r--r-- | gdb/h8300-tdep.c | 2 | ||||
-rw-r--r-- | gdb/hppa-tdep.c | 2 | ||||
-rw-r--r-- | gdb/i386-tdep.c | 2 | ||||
-rw-r--r-- | gdb/ia64-tdep.c | 3 | ||||
-rw-r--r-- | gdb/m68hc11-tdep.c | 2 | ||||
-rw-r--r-- | gdb/m68k-tdep.c | 2 | ||||
-rw-r--r-- | gdb/mcore-tdep.c | 2 | ||||
-rw-r--r-- | gdb/mips-tdep.c | 2 | ||||
-rw-r--r-- | gdb/mn10300-tdep.c | 2 | ||||
-rw-r--r-- | gdb/ns32k-tdep.c | 2 | ||||
-rw-r--r-- | gdb/rs6000-tdep.c | 2 | ||||
-rw-r--r-- | gdb/s390-tdep.c | 2 | ||||
-rw-r--r-- | gdb/sh-tdep.c | 4 | ||||
-rw-r--r-- | gdb/sparc-tdep.c | 2 | ||||
-rw-r--r-- | gdb/stack.c | 10 | ||||
-rw-r--r-- | gdb/v850-tdep.c | 2 | ||||
-rw-r--r-- | gdb/valops.c | 2 | ||||
-rw-r--r-- | gdb/vax-tdep.c | 3 | ||||
-rw-r--r-- | gdb/x86-64-tdep.c | 2 | ||||
-rw-r--r-- | gdb/xstormy16-tdep.c | 2 |
34 files changed, 134 insertions, 98 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index fa4f836..20b7951 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,37 @@ 2003-03-13 Andrew Cagney <cagney@redhat.com> + * gdbarch.sh (DEPRECATED_POP_FRAME): Replace POP_FRAME. + * gdbarch.h, gdbarch.c: Regenerate. + * valops.c (hand_function_call): Update comment. + * stack.c (return_command): Update comment. + * config/sparc/tm-sparc.h (DEPRECATED_POP_FRAME): Update. + * config/pa/tm-hppa.h (DEPRECATED_POP_FRAME): Update. + * xstormy16-tdep.c (xstormy16_gdbarch_init): Update. + * x86-64-tdep.c (x86_64_init_abi): Update. + * vax-tdep.c (vax_gdbarch_init): Update. + * v850-tdep.c (v850_gdbarch_init): Update. + * sparc-tdep.c (sparc_gdbarch_init): Update. + * sh-tdep.c (sh_gdbarch_init): Update. + * s390-tdep.c (s390_gdbarch_init): Update. + * rs6000-tdep.c (rs6000_gdbarch_init): Update. + * ns32k-tdep.c (ns32k_gdbarch_init): Update. + * mn10300-tdep.c (mn10300_gdbarch_init): Update. + * mips-tdep.c (mips_gdbarch_init): Update. + * mcore-tdep.c (mcore_gdbarch_init): Update. + * m68k-tdep.c (m68k_gdbarch_init): Update. + * m68hc11-tdep.c (m68hc11_gdbarch_init): Update. + * ia64-tdep.c (ia64_gdbarch_init): Update. + * i386-tdep.c (i386_gdbarch_init): Update. + * hppa-tdep.c (hppa_gdbarch_init): Update. + * h8300-tdep.c (h8300_gdbarch_init): Update. + * frv-tdep.c (frv_gdbarch_init): Update. + * cris-tdep.c (cris_gdbarch_init): Update. + * avr-tdep.c (avr_gdbarch_init): Update. + * arm-tdep.c (arm_gdbarch_init): Update. + * alpha-tdep.c (alpha_gdbarch_init): Update. + +2003-03-13 Andrew Cagney <cagney@redhat.com> + * frame.c (legacy_frame_p): New function. (get_prev_frame): Use legacy_frame_p. * frame.h (legacy_frame_p): Declare. diff --git a/gdb/alpha-tdep.c b/gdb/alpha-tdep.c index 43c2273..57cd893 100644 --- a/gdb/alpha-tdep.c +++ b/gdb/alpha-tdep.c @@ -70,7 +70,6 @@ static gdbarch_saved_pc_after_call_ftype alpha_saved_pc_after_call; static gdbarch_frame_chain_ftype alpha_frame_chain; static gdbarch_push_arguments_ftype alpha_push_arguments; -static gdbarch_pop_frame_ftype alpha_pop_frame; static gdbarch_fix_call_dummy_ftype alpha_fix_call_dummy; static gdbarch_get_longjmp_target_ftype alpha_get_longjmp_target; @@ -1857,7 +1856,7 @@ alpha_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_deprecated_use_generic_dummy_frames (gdbarch, 0); set_gdbarch_call_dummy_length (gdbarch, 0); set_gdbarch_push_arguments (gdbarch, alpha_push_arguments); - set_gdbarch_pop_frame (gdbarch, alpha_pop_frame); + set_gdbarch_deprecated_pop_frame (gdbarch, alpha_pop_frame); /* On the Alpha, the call dummy code is never copied to user space, stopping the user call is achieved via a bp_call_dummy breakpoint. diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c index 9305105..e1d19c8 100644 --- a/gdb/arm-tdep.c +++ b/gdb/arm-tdep.c @@ -2915,7 +2915,7 @@ arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_frame_num_args (gdbarch, arm_frame_num_args); set_gdbarch_frame_args_skip (gdbarch, 0); set_gdbarch_deprecated_frame_init_saved_regs (gdbarch, arm_frame_init_saved_regs); - set_gdbarch_pop_frame (gdbarch, arm_pop_frame); + set_gdbarch_deprecated_pop_frame (gdbarch, arm_pop_frame); /* Address manipulation. */ set_gdbarch_smash_text_address (gdbarch, arm_smash_text_address); diff --git a/gdb/avr-tdep.c b/gdb/avr-tdep.c index a242d6b..75707fe 100644 --- a/gdb/avr-tdep.c +++ b/gdb/avr-tdep.c @@ -1183,7 +1183,7 @@ avr_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_pointer_to_address (gdbarch, avr_pointer_to_address); set_gdbarch_push_arguments (gdbarch, avr_push_arguments); set_gdbarch_push_return_address (gdbarch, avr_push_return_address); - set_gdbarch_pop_frame (gdbarch, avr_pop_frame); + set_gdbarch_deprecated_pop_frame (gdbarch, avr_pop_frame); set_gdbarch_use_struct_convention (gdbarch, generic_use_struct_convention); set_gdbarch_store_struct_return (gdbarch, avr_store_struct_return); diff --git a/gdb/config/pa/tm-hppa.h b/gdb/config/pa/tm-hppa.h index 4616bdd..4b196dc 100644 --- a/gdb/config/pa/tm-hppa.h +++ b/gdb/config/pa/tm-hppa.h @@ -463,7 +463,7 @@ extern void hppa_push_dummy_frame (struct inferior_status *); /* Discard from the stack the innermost frame, restoring all saved registers. */ #if !GDB_MULTI_ARCH -#define POP_FRAME hppa_pop_frame () +#define DEPRECATED_POP_FRAME hppa_pop_frame () extern void hppa_pop_frame (void); #endif diff --git a/gdb/config/sparc/tm-sparc.h b/gdb/config/sparc/tm-sparc.h index f0267d0..c8a073b 100644 --- a/gdb/config/sparc/tm-sparc.h +++ b/gdb/config/sparc/tm-sparc.h @@ -683,7 +683,7 @@ void sparc_fix_call_dummy (char *dummy, CORE_ADDR pc, CORE_ADDR fun, /* Push an empty stack frame, to record the current PC, etc. */ #define DEPRECATED_PUSH_DUMMY_FRAME sparc_push_dummy_frame () -#define POP_FRAME sparc_pop_frame () +#define DEPRECATED_POP_FRAME sparc_pop_frame () void sparc_push_dummy_frame (void); void sparc_pop_frame (void); diff --git a/gdb/cris-tdep.c b/gdb/cris-tdep.c index fae9958..53eb953 100644 --- a/gdb/cris-tdep.c +++ b/gdb/cris-tdep.c @@ -4285,7 +4285,7 @@ cris_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_register_convertible (gdbarch, generic_register_convertible_not); set_gdbarch_push_return_address (gdbarch, cris_push_return_address); - set_gdbarch_pop_frame (gdbarch, cris_pop_frame); + set_gdbarch_deprecated_pop_frame (gdbarch, cris_pop_frame); set_gdbarch_store_struct_return (gdbarch, cris_store_struct_return); set_gdbarch_deprecated_extract_struct_value_address diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index c6e1c61..f14dadb 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,8 @@ +2003-03-13 Andrew Cagney <cagney@redhat.com> + + * gdbint.texinfo (Target Architecture Definition): Replace + POP_FRAME with DEPRECATED_POP_FRAME. Update description. + 2003-03-12 Andrew Cagney <cagney@redhat.com> * gdbint.texinfo (Target Architecture Definition): Rename diff --git a/gdb/doc/gdbint.texinfo b/gdb/doc/gdbint.texinfo index 60d6c9d..4dd1add 100644 --- a/gdb/doc/gdbint.texinfo +++ b/gdb/doc/gdbint.texinfo @@ -3680,12 +3680,11 @@ A hook defined for XCOFF reading. If defined, this is the number of the processor status register. (This definition is only used in generic code when parsing "$ps".) -@item POP_FRAME -@findex POP_FRAME -@findex call_function_by_hand -@findex return_command -Used in @samp{call_function_by_hand} to remove an artificial stack -frame and in @samp{return_command} to remove a real stack frame. +@item DEPRECATED_POP_FRAME +@findex DEPRECATED_POP_FRAME +@findex frame_pop +If defined, used by @code{frame_pop} to remove a stack frame. This +method has been superseeded by generic code. @item PUSH_ARGUMENTS (@var{nargs}, @var{args}, @var{sp}, @var{struct_return}, @var{struct_addr}) @findex PUSH_ARGUMENTS diff --git a/gdb/frame.c b/gdb/frame.c index 94e9a4a..2a70ebb 100644 --- a/gdb/frame.c +++ b/gdb/frame.c @@ -198,12 +198,12 @@ frame_pop (struct frame_info *this_frame) struct regcache *scratch_regcache; struct cleanup *cleanups; - if (POP_FRAME_P ()) + if (DEPRECATED_POP_FRAME_P ()) { /* A legacy architecture that has implemented a custom pop function. All new architectures should instead be using the generic code below. */ - POP_FRAME; + DEPRECATED_POP_FRAME; } else { diff --git a/gdb/frv-tdep.c b/gdb/frv-tdep.c index b5bc335..2753283 100644 --- a/gdb/frv-tdep.c +++ b/gdb/frv-tdep.c @@ -45,7 +45,6 @@ static gdbarch_init_extra_frame_info_ftype stupid_useless_init_extra_frame_info; static gdbarch_store_struct_return_ftype frv_store_struct_return; static gdbarch_push_arguments_ftype frv_push_arguments; static gdbarch_push_return_address_ftype frv_push_return_address; -static gdbarch_pop_frame_ftype frv_pop_frame; static gdbarch_saved_pc_after_call_ftype frv_saved_pc_after_call; static void frv_pop_frame_regular (struct frame_info *frame); @@ -1095,7 +1094,7 @@ frv_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_call_dummy_length (gdbarch, 0); set_gdbarch_push_arguments (gdbarch, frv_push_arguments); set_gdbarch_push_return_address (gdbarch, frv_push_return_address); - set_gdbarch_pop_frame (gdbarch, frv_pop_frame); + set_gdbarch_deprecated_pop_frame (gdbarch, frv_pop_frame); set_gdbarch_call_dummy_p (gdbarch, 1); set_gdbarch_call_dummy_words (gdbarch, frv_call_dummy_words); diff --git a/gdb/gdbarch.c b/gdb/gdbarch.c index 6f75878..4237171 100644 --- a/gdb/gdbarch.c +++ b/gdb/gdbarch.c @@ -216,7 +216,7 @@ struct gdbarch gdbarch_push_arguments_ftype *push_arguments; gdbarch_deprecated_push_dummy_frame_ftype *deprecated_push_dummy_frame; gdbarch_push_return_address_ftype *push_return_address; - gdbarch_pop_frame_ftype *pop_frame; + gdbarch_deprecated_pop_frame_ftype *deprecated_pop_frame; gdbarch_store_struct_return_ftype *store_struct_return; gdbarch_extract_return_value_ftype *extract_return_value; gdbarch_store_return_value_ftype *store_return_value; @@ -725,7 +725,7 @@ verify_gdbarch (struct gdbarch *gdbarch) /* Skip verify of push_arguments, invalid_p == 0 */ /* Skip verify of deprecated_push_dummy_frame, has predicate */ /* Skip verify of push_return_address, has predicate */ - /* Skip verify of pop_frame, has predicate */ + /* Skip verify of deprecated_pop_frame, has predicate */ if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && (gdbarch->store_struct_return == 0)) fprintf_unfiltered (log, "\n\tstore_struct_return"); @@ -1330,6 +1330,29 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) (long) current_gdbarch->deprecated_pc_in_call_dummy /*DEPRECATED_PC_IN_CALL_DUMMY ()*/); #endif +#ifdef DEPRECATED_POP_FRAME_P + fprintf_unfiltered (file, + "gdbarch_dump: %s # %s\n", + "DEPRECATED_POP_FRAME_P()", + XSTRING (DEPRECATED_POP_FRAME_P ())); + fprintf_unfiltered (file, + "gdbarch_dump: DEPRECATED_POP_FRAME_P() = %d\n", + DEPRECATED_POP_FRAME_P ()); +#endif +#ifdef DEPRECATED_POP_FRAME +#if GDB_MULTI_ARCH + /* Macro might contain `[{}]' when not multi-arch */ + fprintf_unfiltered (file, + "gdbarch_dump: %s # %s\n", + "DEPRECATED_POP_FRAME(-)", + XSTRING (DEPRECATED_POP_FRAME (-))); +#endif + if (GDB_MULTI_ARCH) + fprintf_unfiltered (file, + "gdbarch_dump: DEPRECATED_POP_FRAME = <0x%08lx>\n", + (long) current_gdbarch->deprecated_pop_frame + /*DEPRECATED_POP_FRAME ()*/); +#endif #ifdef DEPRECATED_PUSH_DUMMY_FRAME_P fprintf_unfiltered (file, "gdbarch_dump: %s # %s\n", @@ -1813,29 +1836,6 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) (long) current_gdbarch->pointer_to_address /*POINTER_TO_ADDRESS ()*/); #endif -#ifdef POP_FRAME_P - fprintf_unfiltered (file, - "gdbarch_dump: %s # %s\n", - "POP_FRAME_P()", - XSTRING (POP_FRAME_P ())); - fprintf_unfiltered (file, - "gdbarch_dump: POP_FRAME_P() = %d\n", - POP_FRAME_P ()); -#endif -#ifdef POP_FRAME -#if GDB_MULTI_ARCH - /* Macro might contain `[{}]' when not multi-arch */ - fprintf_unfiltered (file, - "gdbarch_dump: %s # %s\n", - "POP_FRAME(-)", - XSTRING (POP_FRAME (-))); -#endif - if (GDB_MULTI_ARCH) - fprintf_unfiltered (file, - "gdbarch_dump: POP_FRAME = <0x%08lx>\n", - (long) current_gdbarch->pop_frame - /*POP_FRAME ()*/); -#endif #ifdef PREPARE_TO_PROCEED fprintf_unfiltered (file, "gdbarch_dump: %s # %s\n", @@ -4307,29 +4307,29 @@ set_gdbarch_push_return_address (struct gdbarch *gdbarch, } int -gdbarch_pop_frame_p (struct gdbarch *gdbarch) +gdbarch_deprecated_pop_frame_p (struct gdbarch *gdbarch) { gdb_assert (gdbarch != NULL); - return gdbarch->pop_frame != 0; + return gdbarch->deprecated_pop_frame != 0; } void -gdbarch_pop_frame (struct gdbarch *gdbarch) +gdbarch_deprecated_pop_frame (struct gdbarch *gdbarch) { gdb_assert (gdbarch != NULL); - if (gdbarch->pop_frame == 0) + if (gdbarch->deprecated_pop_frame == 0) internal_error (__FILE__, __LINE__, - "gdbarch: gdbarch_pop_frame invalid"); + "gdbarch: gdbarch_deprecated_pop_frame invalid"); if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_pop_frame called\n"); - gdbarch->pop_frame (); + fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_pop_frame called\n"); + gdbarch->deprecated_pop_frame (); } void -set_gdbarch_pop_frame (struct gdbarch *gdbarch, - gdbarch_pop_frame_ftype pop_frame) +set_gdbarch_deprecated_pop_frame (struct gdbarch *gdbarch, + gdbarch_deprecated_pop_frame_ftype deprecated_pop_frame) { - gdbarch->pop_frame = pop_frame; + gdbarch->deprecated_pop_frame = deprecated_pop_frame; } void diff --git a/gdb/gdbarch.h b/gdb/gdbarch.h index acb1c33..89cf010 100644 --- a/gdb/gdbarch.h +++ b/gdb/gdbarch.h @@ -1706,40 +1706,40 @@ extern void set_gdbarch_push_return_address (struct gdbarch *gdbarch, gdbarch_pu #endif #endif -#if defined (POP_FRAME) -/* Legacy for systems yet to multi-arch POP_FRAME */ -#if !defined (POP_FRAME_P) -#define POP_FRAME_P() (1) +#if defined (DEPRECATED_POP_FRAME) +/* Legacy for systems yet to multi-arch DEPRECATED_POP_FRAME */ +#if !defined (DEPRECATED_POP_FRAME_P) +#define DEPRECATED_POP_FRAME_P() (1) #endif #endif /* Default predicate for non- multi-arch targets. */ -#if (!GDB_MULTI_ARCH) && !defined (POP_FRAME_P) -#define POP_FRAME_P() (0) +#if (!GDB_MULTI_ARCH) && !defined (DEPRECATED_POP_FRAME_P) +#define DEPRECATED_POP_FRAME_P() (0) #endif -extern int gdbarch_pop_frame_p (struct gdbarch *gdbarch); -#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (POP_FRAME_P) -#error "Non multi-arch definition of POP_FRAME" +extern int gdbarch_deprecated_pop_frame_p (struct gdbarch *gdbarch); +#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (DEPRECATED_POP_FRAME_P) +#error "Non multi-arch definition of DEPRECATED_POP_FRAME" #endif -#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) || !defined (POP_FRAME_P) -#define POP_FRAME_P() (gdbarch_pop_frame_p (current_gdbarch)) +#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) || !defined (DEPRECATED_POP_FRAME_P) +#define DEPRECATED_POP_FRAME_P() (gdbarch_deprecated_pop_frame_p (current_gdbarch)) #endif /* Default (function) for non- multi-arch platforms. */ -#if (!GDB_MULTI_ARCH) && !defined (POP_FRAME) -#define POP_FRAME (internal_error (__FILE__, __LINE__, "POP_FRAME"), 0) +#if (!GDB_MULTI_ARCH) && !defined (DEPRECATED_POP_FRAME) +#define DEPRECATED_POP_FRAME (internal_error (__FILE__, __LINE__, "DEPRECATED_POP_FRAME"), 0) #endif -typedef void (gdbarch_pop_frame_ftype) (void); -extern void gdbarch_pop_frame (struct gdbarch *gdbarch); -extern void set_gdbarch_pop_frame (struct gdbarch *gdbarch, gdbarch_pop_frame_ftype *pop_frame); -#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (POP_FRAME) -#error "Non multi-arch definition of POP_FRAME" +typedef void (gdbarch_deprecated_pop_frame_ftype) (void); +extern void gdbarch_deprecated_pop_frame (struct gdbarch *gdbarch); +extern void set_gdbarch_deprecated_pop_frame (struct gdbarch *gdbarch, gdbarch_deprecated_pop_frame_ftype *deprecated_pop_frame); +#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (DEPRECATED_POP_FRAME) +#error "Non multi-arch definition of DEPRECATED_POP_FRAME" #endif #if GDB_MULTI_ARCH -#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) || !defined (POP_FRAME) -#define POP_FRAME (gdbarch_pop_frame (current_gdbarch)) +#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) || !defined (DEPRECATED_POP_FRAME) +#define DEPRECATED_POP_FRAME (gdbarch_deprecated_pop_frame (current_gdbarch)) #endif #endif diff --git a/gdb/gdbarch.sh b/gdb/gdbarch.sh index 2cf9a32..5cba80d 100755 --- a/gdb/gdbarch.sh +++ b/gdb/gdbarch.sh @@ -559,7 +559,7 @@ f:2:RETURN_VALUE_ON_STACK:int:return_value_on_stack:struct type *type:type:::gen f:2:PUSH_ARGUMENTS:CORE_ADDR:push_arguments:int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr:nargs, args, sp, struct_return, struct_addr:::default_push_arguments::0 F:2:DEPRECATED_PUSH_DUMMY_FRAME:void:deprecated_push_dummy_frame:void:-:::0 F:2:PUSH_RETURN_ADDRESS:CORE_ADDR:push_return_address:CORE_ADDR pc, CORE_ADDR sp:pc, sp:::0 -F:2:POP_FRAME:void:pop_frame:void:-:::0 +F:2:DEPRECATED_POP_FRAME:void:deprecated_pop_frame:void:-:::0 # f:2:STORE_STRUCT_RETURN:void:store_struct_return:CORE_ADDR addr, CORE_ADDR sp:addr, sp:::0 # diff --git a/gdb/h8300-tdep.c b/gdb/h8300-tdep.c index 8349322..415acf8 100644 --- a/gdb/h8300-tdep.c +++ b/gdb/h8300-tdep.c @@ -1151,7 +1151,7 @@ h8300_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_push_return_address (gdbarch, h8300_push_return_address); set_gdbarch_deprecated_extract_return_value (gdbarch, h8300_extract_return_value); set_gdbarch_push_arguments (gdbarch, h8300_push_arguments); - set_gdbarch_pop_frame (gdbarch, h8300_pop_frame); + set_gdbarch_deprecated_pop_frame (gdbarch, h8300_pop_frame); set_gdbarch_store_struct_return (gdbarch, h8300_store_struct_return); set_gdbarch_deprecated_store_return_value (gdbarch, h8300_store_return_value); set_gdbarch_deprecated_extract_struct_value_address (gdbarch, h8300_extract_struct_value_address); diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c index 8385596..9fde53d 100644 --- a/gdb/hppa-tdep.c +++ b/gdb/hppa-tdep.c @@ -5017,7 +5017,7 @@ hppa_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_frame_num_args (gdbarch, hppa_frame_num_args); set_gdbarch_frame_args_skip (gdbarch, 0); /* set_gdbarch_deprecated_push_dummy_frame (gdbarch, hppa_push_dummy_frame); */ - set_gdbarch_pop_frame (gdbarch, hppa_pop_frame); + set_gdbarch_deprecated_pop_frame (gdbarch, hppa_pop_frame); set_gdbarch_call_dummy_length (gdbarch, INSTRUCTION_SIZE * 28); set_gdbarch_call_dummy_start_offset (gdbarch, 0); /* set_gdbarch_fix_call_dummy (gdbarch, hppa_fix_call_dummy); */ diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c index 4b479cc..b438266 100644 --- a/gdb/i386-tdep.c +++ b/gdb/i386-tdep.c @@ -1591,7 +1591,7 @@ i386_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_extract_return_value (gdbarch, i386_extract_return_value); set_gdbarch_push_arguments (gdbarch, i386_push_arguments); set_gdbarch_push_return_address (gdbarch, i386_push_return_address); - set_gdbarch_pop_frame (gdbarch, i386_pop_frame); + set_gdbarch_deprecated_pop_frame (gdbarch, i386_pop_frame); set_gdbarch_store_struct_return (gdbarch, i386_store_struct_return); set_gdbarch_store_return_value (gdbarch, i386_store_return_value); set_gdbarch_extract_struct_value_address (gdbarch, diff --git a/gdb/ia64-tdep.c b/gdb/ia64-tdep.c index 62cff27..2812686 100644 --- a/gdb/ia64-tdep.c +++ b/gdb/ia64-tdep.c @@ -101,7 +101,6 @@ static gdbarch_frameless_function_invocation_ftype ia64_frameless_function_invoc static gdbarch_store_struct_return_ftype ia64_store_struct_return; static gdbarch_push_arguments_ftype ia64_push_arguments; static gdbarch_push_return_address_ftype ia64_push_return_address; -static gdbarch_pop_frame_ftype ia64_pop_frame; static gdbarch_saved_pc_after_call_ftype ia64_saved_pc_after_call; static void ia64_pop_frame_regular (struct frame_info *frame); static struct type *is_float_or_hfa_type (struct type *t); @@ -2222,7 +2221,7 @@ ia64_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_call_dummy_length (gdbarch, 0); set_gdbarch_push_arguments (gdbarch, ia64_push_arguments); set_gdbarch_push_return_address (gdbarch, ia64_push_return_address); - set_gdbarch_pop_frame (gdbarch, ia64_pop_frame); + set_gdbarch_deprecated_pop_frame (gdbarch, ia64_pop_frame); set_gdbarch_call_dummy_p (gdbarch, 1); set_gdbarch_call_dummy_words (gdbarch, ia64_call_dummy_words); diff --git a/gdb/m68hc11-tdep.c b/gdb/m68hc11-tdep.c index d1173ba..076099c 100644 --- a/gdb/m68hc11-tdep.c +++ b/gdb/m68hc11-tdep.c @@ -1418,7 +1418,7 @@ m68hc11_gdbarch_init (struct gdbarch_info info, (gdbarch, m68hc11_extract_struct_value_address); set_gdbarch_use_struct_convention (gdbarch, m68hc11_use_struct_convention); set_gdbarch_deprecated_init_extra_frame_info (gdbarch, m68hc11_init_extra_frame_info); - set_gdbarch_pop_frame (gdbarch, m68hc11_pop_frame); + set_gdbarch_deprecated_pop_frame (gdbarch, m68hc11_pop_frame); set_gdbarch_skip_prologue (gdbarch, m68hc11_skip_prologue); set_gdbarch_inner_than (gdbarch, core_addr_lessthan); set_gdbarch_decr_pc_after_break (gdbarch, 0); diff --git a/gdb/m68k-tdep.c b/gdb/m68k-tdep.c index 1e09cf8..b79c68a 100644 --- a/gdb/m68k-tdep.c +++ b/gdb/m68k-tdep.c @@ -1051,7 +1051,7 @@ m68k_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_call_dummy_stack_adjust_p (gdbarch, 0); set_gdbarch_fix_call_dummy (gdbarch, m68k_fix_call_dummy); set_gdbarch_deprecated_push_dummy_frame (gdbarch, m68k_push_dummy_frame); - set_gdbarch_pop_frame (gdbarch, m68k_pop_frame); + set_gdbarch_deprecated_pop_frame (gdbarch, m68k_pop_frame); return gdbarch; } diff --git a/gdb/mcore-tdep.c b/gdb/mcore-tdep.c index a0d8693..36dbbdb 100644 --- a/gdb/mcore-tdep.c +++ b/gdb/mcore-tdep.c @@ -1151,7 +1151,7 @@ mcore_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_frame_args_address (gdbarch, mcore_frame_args_address); set_gdbarch_frame_locals_address (gdbarch, mcore_frame_locals_address); set_gdbarch_frame_num_args (gdbarch, frame_num_args_unknown); - set_gdbarch_pop_frame (gdbarch, mcore_pop_frame); + set_gdbarch_deprecated_pop_frame (gdbarch, mcore_pop_frame); set_gdbarch_virtual_frame_pointer (gdbarch, mcore_virtual_frame_pointer); /* Misc.: */ diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c index ae28790..4107977 100644 --- a/gdb/mips-tdep.c +++ b/gdb/mips-tdep.c @@ -6007,7 +6007,7 @@ mips_gdbarch_init (struct gdbarch_info info, set_gdbarch_call_dummy_stack_adjust_p (gdbarch, 0); set_gdbarch_call_dummy_address (gdbarch, mips_call_dummy_address); set_gdbarch_push_return_address (gdbarch, mips_push_return_address); - set_gdbarch_pop_frame (gdbarch, mips_pop_frame); + set_gdbarch_deprecated_pop_frame (gdbarch, mips_pop_frame); set_gdbarch_call_dummy_start_offset (gdbarch, 0); set_gdbarch_call_dummy_breakpoint_offset_p (gdbarch, 1); set_gdbarch_call_dummy_breakpoint_offset (gdbarch, 0); diff --git a/gdb/mn10300-tdep.c b/gdb/mn10300-tdep.c index 7996b1e..df6e043 100644 --- a/gdb/mn10300-tdep.c +++ b/gdb/mn10300-tdep.c @@ -1177,7 +1177,7 @@ mn10300_gdbarch_init (struct gdbarch_info info, (gdbarch, mn10300_extract_struct_value_address); set_gdbarch_deprecated_store_return_value (gdbarch, mn10300_store_return_value); set_gdbarch_store_struct_return (gdbarch, mn10300_store_struct_return); - set_gdbarch_pop_frame (gdbarch, mn10300_pop_frame); + set_gdbarch_deprecated_pop_frame (gdbarch, mn10300_pop_frame); set_gdbarch_skip_prologue (gdbarch, mn10300_skip_prologue); set_gdbarch_frame_args_skip (gdbarch, 0); set_gdbarch_frame_num_args (gdbarch, frame_num_args_unknown); diff --git a/gdb/ns32k-tdep.c b/gdb/ns32k-tdep.c index 20696c7..9737120 100644 --- a/gdb/ns32k-tdep.c +++ b/gdb/ns32k-tdep.c @@ -593,7 +593,7 @@ ns32k_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) /* Call dummy info */ set_gdbarch_deprecated_push_dummy_frame (gdbarch, ns32k_push_dummy_frame); - set_gdbarch_pop_frame (gdbarch, ns32k_pop_frame); + set_gdbarch_deprecated_pop_frame (gdbarch, ns32k_pop_frame); set_gdbarch_call_dummy_location (gdbarch, ON_STACK); set_gdbarch_call_dummy_p (gdbarch, 1); set_gdbarch_call_dummy_words (gdbarch, ns32k_call_dummy_words); diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c index 72079ce..46733a3 100644 --- a/gdb/rs6000-tdep.c +++ b/gdb/rs6000-tdep.c @@ -2917,7 +2917,7 @@ rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_store_struct_return (gdbarch, rs6000_store_struct_return); set_gdbarch_extract_struct_value_address (gdbarch, rs6000_extract_struct_value_address); - set_gdbarch_pop_frame (gdbarch, rs6000_pop_frame); + set_gdbarch_deprecated_pop_frame (gdbarch, rs6000_pop_frame); set_gdbarch_skip_prologue (gdbarch, rs6000_skip_prologue); set_gdbarch_inner_than (gdbarch, core_addr_lessthan); diff --git a/gdb/s390-tdep.c b/gdb/s390-tdep.c index f26ea13..138ef78 100644 --- a/gdb/s390-tdep.c +++ b/gdb/s390-tdep.c @@ -1820,7 +1820,7 @@ s390_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) This is often the number of bytes in BREAKPOINT but not always. */ set_gdbarch_decr_pc_after_break (gdbarch, 2); - set_gdbarch_pop_frame (gdbarch, s390_pop_frame); + set_gdbarch_deprecated_pop_frame (gdbarch, s390_pop_frame); /* Stack grows downward. */ set_gdbarch_inner_than (gdbarch, core_addr_lessthan); /* Offset from address of function to start of its code. diff --git a/gdb/sh-tdep.c b/gdb/sh-tdep.c index 081c063..bbb298a 100644 --- a/gdb/sh-tdep.c +++ b/gdb/sh-tdep.c @@ -4379,7 +4379,7 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_store_struct_return (gdbarch, sh_store_struct_return); set_gdbarch_use_struct_convention (gdbarch, sh_use_struct_convention); set_gdbarch_deprecated_extract_struct_value_address (gdbarch, sh_extract_struct_value_address); - set_gdbarch_pop_frame (gdbarch, sh_pop_frame); + set_gdbarch_deprecated_pop_frame (gdbarch, sh_pop_frame); set_gdbarch_print_insn (gdbarch, gdb_print_insn_sh); set_gdbarch_register_sim_regno (gdbarch, legacy_register_sim_regno); skip_prologue_hard_way = sh_skip_prologue_hard_way; @@ -4621,7 +4621,7 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) /*set_gdbarch_store_struct_return (gdbarch, sh64_store_struct_return);*/ set_gdbarch_deprecated_extract_struct_value_address (gdbarch, sh64_extract_struct_value_address); set_gdbarch_use_struct_convention (gdbarch, sh64_use_struct_convention); - set_gdbarch_pop_frame (gdbarch, sh64_pop_frame); + set_gdbarch_deprecated_pop_frame (gdbarch, sh64_pop_frame); set_gdbarch_elf_make_msymbol_special (gdbarch, sh64_elf_make_msymbol_special); break; diff --git a/gdb/sparc-tdep.c b/gdb/sparc-tdep.c index be8197f..6ff17d9 100644 --- a/gdb/sparc-tdep.c +++ b/gdb/sparc-tdep.c @@ -3158,7 +3158,7 @@ sparc_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_long_long_bit (gdbarch, 8 * TARGET_CHAR_BIT); set_gdbarch_deprecated_max_register_raw_size (gdbarch, 8); set_gdbarch_deprecated_max_register_virtual_size (gdbarch, 8); - set_gdbarch_pop_frame (gdbarch, sparc_pop_frame); + set_gdbarch_deprecated_pop_frame (gdbarch, sparc_pop_frame); set_gdbarch_push_return_address (gdbarch, sparc_push_return_address); set_gdbarch_deprecated_push_dummy_frame (gdbarch, sparc_push_dummy_frame); set_gdbarch_read_pc (gdbarch, generic_target_read_pc); diff --git a/gdb/stack.c b/gdb/stack.c index 3eab979..98b8a0f 100644 --- a/gdb/stack.c +++ b/gdb/stack.c @@ -1639,9 +1639,13 @@ return_command (char *retval_exp, int from_tty) that. */ /* Do the real work. Pop until the specified frame is current. We - use this method because the deprecated_selected_frame is not valid after - a POP_FRAME. The pc comparison makes this work even if the - selected frame shares its fp with another frame. */ + use this method because the deprecated_selected_frame is not + valid after a frame_pop(). The pc comparison makes this work + even if the selected frame shares its fp with another frame. */ + + /* FIXME: cagney/32003-03-12: This code should use frame_id_eq(). + Unfortunatly, that function doesn't yet include the PC in any + frame ID comparison. */ while (selected_frame_addr != get_frame_base (frame = get_current_frame ()) || selected_frame_pc != get_frame_pc (frame)) diff --git a/gdb/v850-tdep.c b/gdb/v850-tdep.c index 94fcb81..f0c12a2 100644 --- a/gdb/v850-tdep.c +++ b/gdb/v850-tdep.c @@ -1271,7 +1271,7 @@ v850_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_push_return_address (gdbarch, v850_push_return_address); set_gdbarch_deprecated_extract_return_value (gdbarch, v850_extract_return_value); set_gdbarch_push_arguments (gdbarch, v850_push_arguments); - set_gdbarch_pop_frame (gdbarch, v850_pop_frame); + set_gdbarch_deprecated_pop_frame (gdbarch, v850_pop_frame); set_gdbarch_store_struct_return (gdbarch, v850_store_struct_return); set_gdbarch_deprecated_store_return_value (gdbarch, v850_store_return_value); set_gdbarch_deprecated_extract_struct_value_address (gdbarch, v850_extract_struct_value_address); diff --git a/gdb/valops.c b/gdb/valops.c index 6dcc6f1..f21b781 100644 --- a/gdb/valops.c +++ b/gdb/valops.c @@ -1303,7 +1303,7 @@ hand_function_call (struct value *function, int nargs, struct value **args) if (DEPRECATED_PUSH_DUMMY_FRAME_P ()) { /* DEPRECATED_PUSH_DUMMY_FRAME is responsible for saving the - inferior registers (and POP_FRAME for restoring them). (At + inferior registers (and frame_pop() for restoring them). (At least on most machines) they are saved on the stack in the inferior. */ DEPRECATED_PUSH_DUMMY_FRAME; diff --git a/gdb/vax-tdep.c b/gdb/vax-tdep.c index 4b1851e..f5cd267 100644 --- a/gdb/vax-tdep.c +++ b/gdb/vax-tdep.c @@ -52,7 +52,6 @@ static gdbarch_deprecated_extract_struct_value_address_ftype vax_extract_struct_value_address; static gdbarch_deprecated_push_dummy_frame_ftype vax_push_dummy_frame; -static gdbarch_pop_frame_ftype vax_pop_frame; static gdbarch_fix_call_dummy_ftype vax_fix_call_dummy; /* Return 1 if P points to an invalid floating point value. @@ -668,7 +667,7 @@ vax_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) /* Call dummy info */ set_gdbarch_deprecated_push_dummy_frame (gdbarch, vax_push_dummy_frame); - set_gdbarch_pop_frame (gdbarch, vax_pop_frame); + set_gdbarch_deprecated_pop_frame (gdbarch, vax_pop_frame); set_gdbarch_call_dummy_location (gdbarch, ON_STACK); set_gdbarch_call_dummy_p (gdbarch, 1); set_gdbarch_call_dummy_words (gdbarch, vax_call_dummy_words); diff --git a/gdb/x86-64-tdep.c b/gdb/x86-64-tdep.c index 85057f7..3ce9e33 100644 --- a/gdb/x86-64-tdep.c +++ b/gdb/x86-64-tdep.c @@ -1015,7 +1015,7 @@ x86_64_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) set_gdbarch_push_arguments (gdbarch, x86_64_push_arguments); set_gdbarch_push_return_address (gdbarch, x86_64_push_return_address); - set_gdbarch_pop_frame (gdbarch, x86_64_pop_frame); + set_gdbarch_deprecated_pop_frame (gdbarch, x86_64_pop_frame); set_gdbarch_store_struct_return (gdbarch, x86_64_store_struct_return); set_gdbarch_store_return_value (gdbarch, x86_64_store_return_value); /* Override, since this is handled by x86_64_extract_return_value. */ diff --git a/gdb/xstormy16-tdep.c b/gdb/xstormy16-tdep.c index e44b64d..13c1047 100644 --- a/gdb/xstormy16-tdep.c +++ b/gdb/xstormy16-tdep.c @@ -1089,7 +1089,7 @@ xstormy16_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_push_return_address (gdbarch, xstormy16_push_return_address); set_gdbarch_deprecated_extract_return_value (gdbarch, xstormy16_extract_return_value); set_gdbarch_push_arguments (gdbarch, xstormy16_push_arguments); - set_gdbarch_pop_frame (gdbarch, xstormy16_pop_frame); + set_gdbarch_deprecated_pop_frame (gdbarch, xstormy16_pop_frame); set_gdbarch_store_struct_return (gdbarch, xstormy16_store_struct_return); set_gdbarch_deprecated_store_return_value (gdbarch, xstormy16_store_return_value); set_gdbarch_deprecated_extract_struct_value_address (gdbarch, xstormy16_extract_struct_value_address); |