aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog9
-rw-r--r--gdb/doc/ChangeLog3
-rw-r--r--gdb/doc/gdbint.texinfo4
-rw-r--r--gdb/gdbarch.c46
-rw-r--r--gdb/gdbarch.h27
-rwxr-xr-xgdb/gdbarch.sh2
-rw-r--r--gdb/infcall.c45
-rw-r--r--gdb/inferior.h4
-rw-r--r--gdb/ns32k-tdep.c17
9 files changed, 29 insertions, 128 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 06bb6f7..c0258bb 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,14 @@
2004-05-08 Andrew Cagney <cagney@redhat.com>
+ * gdbarch.sh (DEPRECATED_PUSH_DUMMY_FRAME): Delete.
+ * gdbarch.h, gdbarch.c: Re-generate.
+ * inferior.h (PUSH_DUMMY_FRAME): Delete macro.
+ * infcall.c (call_function_by_hand): Eliminate call to
+ DEPRECATED_PUSH_DUMMY_FRAME.
+ * ns32k-tdep.c (ns32k_gdbarch_init): Do not set deprecated
+ push_dummy_frame.
+ (ns32k_push_dummy_frame): Delete function.
+
* ns32k-tdep.c (ns32k_gdbarch_init): Do not set
deprecated_call_dummy_breakpoint_offset or
deprecated_call_dummy_start_offset.
diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog
index a505fa2..49a8485 100644
--- a/gdb/doc/ChangeLog
+++ b/gdb/doc/ChangeLog
@@ -1,6 +1,9 @@
2004-05-08 Andrew Cagney <cagney@redhat.com>
* gdbint.texinfo (Target Architecture Definition): Delete
+ description of DEPRECATED_PUSH_DUMMY_FRAME.
+
+ * gdbint.texinfo (Target Architecture Definition): Delete
reference to DEPRECATED_CALL_DUMMY_BREAKPOINT_OFFSET.
2004-05-07 Andrew Cagney <cagney@redhat.com>
diff --git a/gdb/doc/gdbint.texinfo b/gdb/doc/gdbint.texinfo
index dc92c78..dc80183 100644
--- a/gdb/doc/gdbint.texinfo
+++ b/gdb/doc/gdbint.texinfo
@@ -3705,10 +3705,6 @@ This method replaces @code{DEPRECATED_CALL_DUMMY_WORDS},
@code{CALL_DUMMY_LOCATION}, @code{DEPRECATED_REGISTER_SIZE}, and
@code{DEPRECATED_FIX_CALL_DUMMY}.
-@item DEPRECATED_PUSH_DUMMY_FRAME
-@findex DEPRECATED_PUSH_DUMMY_FRAME
-Used in @samp{call_function_by_hand} to create an artificial stack frame.
-
@item DEPRECATED_REGISTER_BYTES
@findex DEPRECATED_REGISTER_BYTES
The total amount of space needed to store @value{GDBN}'s copy of the
diff --git a/gdb/gdbarch.c b/gdb/gdbarch.c
index 0dbbe29..140f332 100644
--- a/gdb/gdbarch.c
+++ b/gdb/gdbarch.c
@@ -166,7 +166,6 @@ struct gdbarch
int deprecated_sizeof_call_dummy_words;
gdbarch_deprecated_fix_call_dummy_ftype *deprecated_fix_call_dummy;
gdbarch_push_dummy_code_ftype *push_dummy_code;
- gdbarch_deprecated_push_dummy_frame_ftype *deprecated_push_dummy_frame;
gdbarch_deprecated_do_registers_info_ftype *deprecated_do_registers_info;
gdbarch_print_registers_info_ftype *print_registers_info;
gdbarch_print_float_info_ftype *print_float_info;
@@ -323,7 +322,6 @@ struct gdbarch startup_gdbarch =
0, /* deprecated_sizeof_call_dummy_words */
0, /* deprecated_fix_call_dummy */
0, /* push_dummy_code */
- 0, /* deprecated_push_dummy_frame */
0, /* deprecated_do_registers_info */
default_print_registers_info, /* print_registers_info */
0, /* print_float_info */
@@ -617,7 +615,6 @@ verify_gdbarch (struct gdbarch *current_gdbarch)
/* Skip verify of deprecated_sizeof_call_dummy_words, invalid_p == 0 */
/* Skip verify of deprecated_fix_call_dummy, has predicate */
/* Skip verify of push_dummy_code, has predicate */
- /* Skip verify of deprecated_push_dummy_frame, has predicate */
/* Skip verify of deprecated_do_registers_info, has predicate */
/* Skip verify of print_registers_info, invalid_p == 0 */
/* Skip verify of print_float_info, has predicate */
@@ -1300,25 +1297,6 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
(long) current_gdbarch->deprecated_push_arguments
/*DEPRECATED_PUSH_ARGUMENTS ()*/);
#endif
-#ifdef DEPRECATED_PUSH_DUMMY_FRAME_P
- fprintf_unfiltered (file,
- "gdbarch_dump: %s # %s\n",
- "DEPRECATED_PUSH_DUMMY_FRAME_P()",
- XSTRING (DEPRECATED_PUSH_DUMMY_FRAME_P ()));
- fprintf_unfiltered (file,
- "gdbarch_dump: DEPRECATED_PUSH_DUMMY_FRAME_P() = %d\n",
- DEPRECATED_PUSH_DUMMY_FRAME_P ());
-#endif
-#ifdef DEPRECATED_PUSH_DUMMY_FRAME
- fprintf_unfiltered (file,
- "gdbarch_dump: %s # %s\n",
- "DEPRECATED_PUSH_DUMMY_FRAME(-)",
- XSTRING (DEPRECATED_PUSH_DUMMY_FRAME (-)));
- fprintf_unfiltered (file,
- "gdbarch_dump: DEPRECATED_PUSH_DUMMY_FRAME = <0x%08lx>\n",
- (long) current_gdbarch->deprecated_push_dummy_frame
- /*DEPRECATED_PUSH_DUMMY_FRAME ()*/);
-#endif
#ifdef DEPRECATED_PUSH_RETURN_ADDRESS_P
fprintf_unfiltered (file,
"gdbarch_dump: %s # %s\n",
@@ -3345,30 +3323,6 @@ set_gdbarch_push_dummy_code (struct gdbarch *gdbarch,
}
int
-gdbarch_deprecated_push_dummy_frame_p (struct gdbarch *gdbarch)
-{
- gdb_assert (gdbarch != NULL);
- return gdbarch->deprecated_push_dummy_frame != NULL;
-}
-
-void
-gdbarch_deprecated_push_dummy_frame (struct gdbarch *gdbarch)
-{
- gdb_assert (gdbarch != NULL);
- gdb_assert (gdbarch->deprecated_push_dummy_frame != NULL);
- if (gdbarch_debug >= 2)
- fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_push_dummy_frame called\n");
- gdbarch->deprecated_push_dummy_frame ();
-}
-
-void
-set_gdbarch_deprecated_push_dummy_frame (struct gdbarch *gdbarch,
- gdbarch_deprecated_push_dummy_frame_ftype deprecated_push_dummy_frame)
-{
- gdbarch->deprecated_push_dummy_frame = deprecated_push_dummy_frame;
-}
-
-int
gdbarch_deprecated_do_registers_info_p (struct gdbarch *gdbarch)
{
gdb_assert (gdbarch != NULL);
diff --git a/gdb/gdbarch.h b/gdb/gdbarch.h
index da1e9ec..7fa6c07 100644
--- a/gdb/gdbarch.h
+++ b/gdb/gdbarch.h
@@ -885,33 +885,6 @@ typedef CORE_ADDR (gdbarch_push_dummy_code_ftype) (struct gdbarch *gdbarch, CORE
extern CORE_ADDR gdbarch_push_dummy_code (struct gdbarch *gdbarch, CORE_ADDR sp, CORE_ADDR funaddr, int using_gcc, struct value **args, int nargs, struct type *value_type, CORE_ADDR *real_pc, CORE_ADDR *bp_addr);
extern void set_gdbarch_push_dummy_code (struct gdbarch *gdbarch, gdbarch_push_dummy_code_ftype *push_dummy_code);
-/* Implement PUSH_DUMMY_CALL, then delete DEPRECATED_PUSH_DUMMY_FRAME. */
-
-#if defined (DEPRECATED_PUSH_DUMMY_FRAME)
-/* Legacy for systems yet to multi-arch DEPRECATED_PUSH_DUMMY_FRAME */
-#if !defined (DEPRECATED_PUSH_DUMMY_FRAME_P)
-#define DEPRECATED_PUSH_DUMMY_FRAME_P() (1)
-#endif
-#endif
-
-extern int gdbarch_deprecated_push_dummy_frame_p (struct gdbarch *gdbarch);
-#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (DEPRECATED_PUSH_DUMMY_FRAME_P)
-#error "Non multi-arch definition of DEPRECATED_PUSH_DUMMY_FRAME"
-#endif
-#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) || !defined (DEPRECATED_PUSH_DUMMY_FRAME_P)
-#define DEPRECATED_PUSH_DUMMY_FRAME_P() (gdbarch_deprecated_push_dummy_frame_p (current_gdbarch))
-#endif
-
-typedef void (gdbarch_deprecated_push_dummy_frame_ftype) (void);
-extern void gdbarch_deprecated_push_dummy_frame (struct gdbarch *gdbarch);
-extern void set_gdbarch_deprecated_push_dummy_frame (struct gdbarch *gdbarch, gdbarch_deprecated_push_dummy_frame_ftype *deprecated_push_dummy_frame);
-#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (DEPRECATED_PUSH_DUMMY_FRAME)
-#error "Non multi-arch definition of DEPRECATED_PUSH_DUMMY_FRAME"
-#endif
-#if !defined (DEPRECATED_PUSH_DUMMY_FRAME)
-#define DEPRECATED_PUSH_DUMMY_FRAME (gdbarch_deprecated_push_dummy_frame (current_gdbarch))
-#endif
-
#if defined (DEPRECATED_DO_REGISTERS_INFO)
/* Legacy for systems yet to multi-arch DEPRECATED_DO_REGISTERS_INFO */
#if !defined (DEPRECATED_DO_REGISTERS_INFO_P)
diff --git a/gdb/gdbarch.sh b/gdb/gdbarch.sh
index 4832432..c921426 100755
--- a/gdb/gdbarch.sh
+++ b/gdb/gdbarch.sh
@@ -534,8 +534,6 @@ v::DEPRECATED_SIZEOF_CALL_DUMMY_WORDS:int:deprecated_sizeof_call_dummy_words::::
F::DEPRECATED_FIX_CALL_DUMMY:void:deprecated_fix_call_dummy:char *dummy, CORE_ADDR pc, CORE_ADDR fun, int nargs, struct value **args, struct type *type, int gcc_p:dummy, pc, fun, nargs, args, type, gcc_p
# This is a replacement for DEPRECATED_FIX_CALL_DUMMY et.al.
M::PUSH_DUMMY_CODE:CORE_ADDR:push_dummy_code:CORE_ADDR sp, CORE_ADDR funaddr, int using_gcc, struct value **args, int nargs, struct type *value_type, CORE_ADDR *real_pc, CORE_ADDR *bp_addr:sp, funaddr, using_gcc, args, nargs, value_type, real_pc, bp_addr
-# Implement PUSH_DUMMY_CALL, then delete DEPRECATED_PUSH_DUMMY_FRAME.
-F:2:DEPRECATED_PUSH_DUMMY_FRAME:void:deprecated_push_dummy_frame:void:-
F:2:DEPRECATED_DO_REGISTERS_INFO:void:deprecated_do_registers_info:int reg_nr, int fpregs:reg_nr, fpregs
m:2:PRINT_REGISTERS_INFO:void:print_registers_info:struct ui_file *file, struct frame_info *frame, int regnum, int all:file, frame, regnum, all:::default_print_registers_info::0
diff --git a/gdb/infcall.c b/gdb/infcall.c
index b11a12f..4d1f1c7 100644
--- a/gdb/infcall.c
+++ b/gdb/infcall.c
@@ -324,34 +324,23 @@ call_function_by_hand (struct value *function, int nargs, struct value **args)
inf_status = save_inferior_status (1);
inf_status_cleanup = make_cleanup_restore_inferior_status (inf_status);
- if (DEPRECATED_PUSH_DUMMY_FRAME_P ())
- {
- /* DEPRECATED_PUSH_DUMMY_FRAME is responsible for saving the
- 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;
- }
- else
- {
- /* FIXME: cagney/2003-02-26: Step zero of this little tinker is
- to extract the generic dummy frame code from the architecture
- vector. Hence this direct call.
-
- A follow-on change is to modify this interface so that it takes
- thread OR frame OR ptid as a parameter, and returns a dummy
- frame handle. The handle can then be used further down as a
- parameter to generic_save_dummy_frame_tos(). Hmm, thinking
- about it, since everything is ment to be using generic dummy
- frames, why not even use some of the dummy frame code to here -
- do a regcache dup and then pass the duped regcache, along with
- all the other stuff, at one single point.
-
- In fact, you can even save the structure's return address in the
- dummy frame and fix one of those nasty lost struct return edge
- conditions. */
- generic_push_dummy_frame ();
- }
+ /* FIXME: cagney/2003-02-26: Step zero of this little tinker is to
+ extract the generic dummy frame code from the architecture
+ vector. Hence this direct call.
+
+ A follow-on change is to modify this interface so that it takes
+ thread OR frame OR ptid as a parameter, and returns a dummy frame
+ handle. The handle can then be used further down as a parameter
+ to generic_save_dummy_frame_tos(). Hmm, thinking about it, since
+ everything is ment to be using generic dummy frames, why not even
+ use some of the dummy frame code to here - do a regcache dup and
+ then pass the duped regcache, along with all the other stuff, at
+ one single point.
+
+ In fact, you can even save the structure's return address in the
+ dummy frame and fix one of those nasty lost struct return edge
+ conditions. */
+ generic_push_dummy_frame ();
/* Ensure that the initial SP is correctly aligned. */
{
diff --git a/gdb/inferior.h b/gdb/inferior.h
index cd2ada8..951893f 100644
--- a/gdb/inferior.h
+++ b/gdb/inferior.h
@@ -443,10 +443,6 @@ extern int attach_flag;
/* FIXME: cagney/2000-04-17: gdbarch should manage this. The default
shouldn't be necessary. */
-#if !defined PUSH_DUMMY_FRAME
-#define PUSH_DUMMY_FRAME (internal_error (__FILE__, __LINE__, "PUSH_DUMMY_FRAME"), 0)
-#endif
-
#if !defined STORE_STRUCT_RETURN
#define STORE_STRUCT_RETURN(a1,a2) (internal_error (__FILE__, __LINE__, "STORE_STRUCT_RETURN"), 0)
#endif
diff --git a/gdb/ns32k-tdep.c b/gdb/ns32k-tdep.c
index 1019b41..2bfeb3a 100644
--- a/gdb/ns32k-tdep.c
+++ b/gdb/ns32k-tdep.c
@@ -399,22 +399,6 @@ ns32k_frame_init_saved_regs (struct frame_info *frame)
}
static void
-ns32k_push_dummy_frame (void)
-{
- CORE_ADDR sp = read_register (SP_REGNUM);
- int regnum;
-
- sp = push_word (sp, read_register (PC_REGNUM));
- sp = push_word (sp, read_register (DEPRECATED_FP_REGNUM));
- write_register (DEPRECATED_FP_REGNUM, sp);
-
- for (regnum = 0; regnum < 8; regnum++)
- sp = push_word (sp, read_register (regnum));
-
- write_register (SP_REGNUM, sp);
-}
-
-static void
ns32k_pop_frame (void)
{
struct frame_info *frame = get_current_frame ();
@@ -574,7 +558,6 @@ ns32k_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
set_gdbarch_deprecated_store_return_value (gdbarch, ns32k_store_return_value);
/* Call dummy info */
- set_gdbarch_deprecated_push_dummy_frame (gdbarch, ns32k_push_dummy_frame);
set_gdbarch_deprecated_pop_frame (gdbarch, ns32k_pop_frame);
set_gdbarch_call_dummy_location (gdbarch, ON_STACK);
set_gdbarch_deprecated_call_dummy_words (gdbarch, ns32k_call_dummy_words);