aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@gnu.org>2002-06-15 19:59:08 +0000
committerMark Kettenis <kettenis@gnu.org>2002-06-15 19:59:08 +0000
commit42fdc8df2fb4328db6e2e6682b1327b6cf34beae (patch)
tree5131c02f470db94d6ad5bc636b90fd0029da3703
parent9773a94b7ac61e63820cdefb2394b8f263492994 (diff)
downloadgdb-42fdc8df2fb4328db6e2e6682b1327b6cf34beae.zip
gdb-42fdc8df2fb4328db6e2e6682b1327b6cf34beae.tar.gz
gdb-42fdc8df2fb4328db6e2e6682b1327b6cf34beae.tar.bz2
* config/i386/tm-i386.h (FRAMELESS_FUNCTION_INVOCATION,
FRAME_ARGS_ADDRESS, FRAME_LOCALS_ADDRESS, FRAME_NUM_ARGS, FRAME_ARGS_SKIP, FRAME_INIT_SAVED_REGS): Remove defines. (i386_frameless_function_invocation, i386_frame_num_args, i386_frame_init_saved_regs): Remove prototypes. * i386-tdep.c (i386_gdbarch_init): Adjust for removal of the macros mentioned above.
-rw-r--r--gdb/ChangeLog10
-rw-r--r--gdb/config/i386/tm-i386.h33
-rw-r--r--gdb/i386-tdep.c8
3 files changed, 18 insertions, 33 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 858f424..9cde79c 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,13 @@
+2002-06-15 Mark Kettenis <kettenis@gnu.org>
+
+ * config/i386/tm-i386.h (FRAMELESS_FUNCTION_INVOCATION,
+ FRAME_ARGS_ADDRESS, FRAME_LOCALS_ADDRESS, FRAME_NUM_ARGS,
+ FRAME_ARGS_SKIP, FRAME_INIT_SAVED_REGS): Remove defines.
+ (i386_frameless_function_invocation, i386_frame_num_args,
+ i386_frame_init_saved_regs): Remove prototypes.
+ * i386-tdep.c (i386_gdbarch_init): Adjust for removal of the
+ macros mentioned above.
+
2002-06-15 Andrew Cagney <ac131313@redhat.com>
* cli/cli-decode.c (set_cmd_cfunc): Update.
diff --git a/gdb/config/i386/tm-i386.h b/gdb/config/i386/tm-i386.h
index 982e7c8..6ac6bc7 100644
--- a/gdb/config/i386/tm-i386.h
+++ b/gdb/config/i386/tm-i386.h
@@ -127,39 +127,6 @@ extern void i386_store_return_value (struct type *type, char *valbuf);
#define DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS(regbuf) \
i386_extract_struct_value_address ((regbuf))
extern CORE_ADDR i386_extract_struct_value_address (char *regbuf);
-
-/* Determine whether the function invocation represented by FRAME does
- not have a from on the stack associated with it. If it does not,
- return non-zero, otherwise return zero. */
-
-#define FRAMELESS_FUNCTION_INVOCATION(frame) \
- i386_frameless_function_invocation (frame)
-extern int i386_frameless_function_invocation (struct frame_info *frame);
-
-#define FRAME_ARGS_ADDRESS(fi) ((fi)->frame)
-
-#define FRAME_LOCALS_ADDRESS(fi) ((fi)->frame)
-
-/* Return number of args passed to a frame. Can return -1, meaning no way
- to tell, which is typical now that the C compiler delays popping them. */
-
-#define FRAME_NUM_ARGS(fi) (i386_frame_num_args(fi))
-
-extern int i386_frame_num_args (struct frame_info *);
-
-/* Return number of bytes at start of arglist that are not really args. */
-
-#define FRAME_ARGS_SKIP 8
-
-/* Put here the code to store, into a struct frame_saved_regs,
- the addresses of the saved registers of frame described by FRAME_INFO.
- This includes special registers such as pc and fp saved in special
- ways in the stack frame. sp is even more special:
- the address we return for it IS the sp for the next frame. */
-
-extern void i386_frame_init_saved_regs (struct frame_info *);
-#define FRAME_INIT_SAVED_REGS(FI) i386_frame_init_saved_regs (FI)
-
/* Things needed for making the inferior call functions. */
diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c
index c44862e..250d1c2 100644
--- a/gdb/i386-tdep.c
+++ b/gdb/i386-tdep.c
@@ -1401,15 +1401,23 @@ i386_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
set_gdbarch_use_struct_convention (gdbarch, i386_use_struct_convention);
+ set_gdbarch_frame_init_saved_regs (gdbarch, i386_frame_init_saved_regs);
+
/* The following redefines make backtracing through sigtramp work.
They manufacture a fake sigtramp frame and obtain the saved pc in
sigtramp from the sigcontext structure which is pushed by the
kernel on the user stack, along with a pointer to it. */
+ set_gdbarch_frame_args_skip (gdbarch, 8);
+ set_gdbarch_frameless_function_invocation (gdbarch,
+ i386_frameless_function_invocation);
set_gdbarch_frame_chain (gdbarch, i386_frame_chain);
set_gdbarch_frame_chain_valid (gdbarch, file_frame_chain_valid);
set_gdbarch_frame_saved_pc (gdbarch, i386_frame_saved_pc);
+ set_gdbarch_frame_args_address (gdbarch, default_frame_address);
+ set_gdbarch_frame_locals_address (gdbarch, default_frame_address);
set_gdbarch_saved_pc_after_call (gdbarch, i386_saved_pc_after_call);
+ set_gdbarch_frame_num_args (gdbarch, i386_frame_num_args);
set_gdbarch_pc_in_sigtramp (gdbarch, i386_pc_in_sigtramp);
/* Hook in ABI-specific overrides, if they have been registered. */