aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Duffek <nsd@redhat.com>2000-07-14 22:17:33 +0000
committerNicholas Duffek <nsd@redhat.com>2000-07-14 22:17:33 +0000
commitfe794dc69d09f9a6fed65befc4597fd217fc449b (patch)
tree18088624fe6010d4013160472ea412d14e234267
parent0a4321b9039c2e2b9cdad3a266eff3ec8f99b137 (diff)
downloadgdb-fe794dc69d09f9a6fed65befc4597fd217fc449b.zip
gdb-fe794dc69d09f9a6fed65befc4597fd217fc449b.tar.gz
gdb-fe794dc69d09f9a6fed65befc4597fd217fc449b.tar.bz2
* ppcbug-rom.c (ppcbug_regnames[]): Make array size implicit.
* rs6000-tdep.c (DEFAULT_LR_SAVE): Move to config/*/tm-*.h. (rs6000_gdbarch_init): Use generic_pc_in_call_dummy instead of rs6000_pc_in_call_dummy. * config/rs6000/tm-rs6000.h (DEFAULT_LR_SAVE): Move here from rs6000-tdep.c. * config/powerpc/tm-ppc-eabi.h: Remove various definitions handled by multi-arched rs6000-tdep.c.
-rw-r--r--gdb/ChangeLog11
-rw-r--r--gdb/config/powerpc/tm-ppc-eabi.h34
-rw-r--r--gdb/config/rs6000/tm-rs6000.h3
-rw-r--r--gdb/ppcbug-rom.c2
-rw-r--r--gdb/rs6000-tdep.c5
5 files changed, 16 insertions, 39 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index e974cea..ccf3b51 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,14 @@
+2000-07-14 Nicholas Duffek <nsd@redhat.com>
+
+ * ppcbug-rom.c (ppcbug_regnames[]): Make array size implicit.
+ * rs6000-tdep.c (DEFAULT_LR_SAVE): Move to config/*/tm-*.h.
+ (rs6000_gdbarch_init): Use generic_pc_in_call_dummy instead of
+ rs6000_pc_in_call_dummy.
+ * config/rs6000/tm-rs6000.h (DEFAULT_LR_SAVE): Move here from
+ rs6000-tdep.c.
+ * config/powerpc/tm-ppc-eabi.h: Remove various definitions
+ handled by multi-arched rs6000-tdep.c.
+
2000-07-14 Nick Clifton <nickc@cygnus.com>
* config/mcore/tm-mcore.h (SKIP_PROLOGUE): Fix defintion to avoid
diff --git a/gdb/config/powerpc/tm-ppc-eabi.h b/gdb/config/powerpc/tm-ppc-eabi.h
index 2e333a8..57e056b 100644
--- a/gdb/config/powerpc/tm-ppc-eabi.h
+++ b/gdb/config/powerpc/tm-ppc-eabi.h
@@ -30,8 +30,6 @@
#undef DEFAULT_LR_SAVE
#define DEFAULT_LR_SAVE 4 /* eabi saves LR at 4 off of SP */
-#define GDB_TARGET_POWERPC
-
#undef PC_LOAD_SEGMENT
#undef PROCESS_LINENUMBER_HOOK
@@ -43,38 +41,6 @@
#define TARGET_BYTE_ORDER_SELECTABLE_P 1
-/* return true if a given `pc' value is in `call dummy' function. */
-/* FIXME: This just checks for the end of the stack, which is broken
- for things like stepping through gcc nested function stubs. */
-#undef PC_IN_CALL_DUMMY
-
-/* generic dummy frame stuff */
-
-
-
-/* target-specific dummy_frame stuff */
-
-extern struct frame_info *rs6000_pop_frame (struct frame_info *frame);
-
-extern CORE_ADDR ppc_push_return_address (CORE_ADDR, CORE_ADDR);
-
-#undef PUSH_DUMMY_FRAME
-#define PUSH_DUMMY_FRAME generic_push_dummy_frame ()
-
-#define PUSH_RETURN_ADDRESS(PC, SP) ppc_push_return_address (PC, SP)
-
-/* override the standard get_saved_register function with
- one that takes account of generic CALL_DUMMY frames */
-#define GET_SAVED_REGISTER(raw_buffer, optimized, addrp, frame, regnum, lval) \
- generic_get_saved_register (raw_buffer, optimized, addrp, frame, regnum, lval)
-
-#define USE_GENERIC_DUMMY_FRAMES 1
-#define CALL_DUMMY_BREAKPOINT_OFFSET (0)
-#define CALL_DUMMY_LOCATION AT_ENTRY_POINT
-#define CALL_DUMMY_ADDRESS() entry_point_address ()
-#undef CALL_DUMMY_START_OFFSET
-#define CALL_DUMMY_START_OFFSET 0
-
/* The value of symbols of type N_SO and N_FUN maybe null when
it shouldn't be. */
#define SOFUN_ADDRESS_MAYBE_MISSING
diff --git a/gdb/config/rs6000/tm-rs6000.h b/gdb/config/rs6000/tm-rs6000.h
index 8f45521..9bf8381 100644
--- a/gdb/config/rs6000/tm-rs6000.h
+++ b/gdb/config/rs6000/tm-rs6000.h
@@ -94,6 +94,9 @@ extern void aix_process_linenos (void);
prev->next ? FRAME_SAVED_PC (prev->next) : read_pc ());
#define INIT_FRAME_PC(fromleaf, prev) /* nothing */
+/* Default offset from SP where the LR is stored */
+#define DEFAULT_LR_SAVE 8
+
/* Usually a function pointer's representation is simply the address
of the function. On the RS/6000 however, a function pointer is
represented by a pointer to a TOC entry. This TOC entry contains
diff --git a/gdb/ppcbug-rom.c b/gdb/ppcbug-rom.c
index 123161a..af1da73 100644
--- a/gdb/ppcbug-rom.c
+++ b/gdb/ppcbug-rom.c
@@ -104,7 +104,7 @@ ppcbug_supply_register (regname, regnamelen, val, vallen)
* registers either. So, typing "info reg sp" becomes an "A7".
*/
-static char *ppcbug_regnames[NUM_REGS] =
+static char *ppcbug_regnames[] =
{
"r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
"r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15",
diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c
index f61074b..66cee5a 100644
--- a/gdb/rs6000-tdep.c
+++ b/gdb/rs6000-tdep.c
@@ -56,9 +56,6 @@
#define SIG_FRAME_LR_OFFSET 108
#define SIG_FRAME_FP_OFFSET 284
-/* Default offset from SP where the LR is stored */
-#define DEFAULT_LR_SAVE 8
-
/* To be used by skip_prologue. */
struct rs6000_framedata
@@ -2048,7 +2045,7 @@ rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
set_gdbarch_call_dummy_breakpoint_offset_p (gdbarch, 1);
set_gdbarch_call_dummy_breakpoint_offset (gdbarch, 0);
set_gdbarch_call_dummy_start_offset (gdbarch, 0);
- set_gdbarch_pc_in_call_dummy (gdbarch, rs6000_pc_in_call_dummy);
+ set_gdbarch_pc_in_call_dummy (gdbarch, generic_pc_in_call_dummy);
set_gdbarch_call_dummy_p (gdbarch, 1);
set_gdbarch_call_dummy_stack_adjust_p (gdbarch, 0);
set_gdbarch_get_saved_register (gdbarch, generic_get_saved_register);