* alpha-tdep.c (alpha_breakpoint_from_pc): New function.
authorJason Thorpe <thorpej@netbsd.org>
Thu, 25 Apr 2002 06:22:22 +0000 (06:22 +0000)
committerJason Thorpe <thorpej@netbsd.org>
Thu, 25 Apr 2002 06:22:22 +0000 (06:22 +0000)
(alpha_gdbarch_init): Set gdbarch_breakpoint_from_pc to
alpha_breakpoint_from_pc.  Set gdbarch_function_start_offset
to 0.
* config/alpha/tm-alpha.h: Remove forward decls of struct type
and struct value.
(FUNCTION_START_OFFSET): Remove.
(BREAKPOINT): Ditto.

gdb/ChangeLog
gdb/alpha-tdep.c
gdb/config/alpha/tm-alpha.h

index 7490c40709459314f3f20050664bd6cf913f6bfa..7454f519cc157dddb050bf4143e8ba63f7b2627d 100644 (file)
@@ -1,3 +1,14 @@
+2002-04-25  Jason Thorpe  <thorpej@wasabisystems.com>
+
+       * alpha-tdep.c (alpha_breakpoint_from_pc): New function.
+       (alpha_gdbarch_init): Set gdbarch_breakpoint_from_pc to
+       alpha_breakpoint_from_pc.  Set gdbarch_function_start_offset
+       to 0.
+       * config/alpha/tm-alpha.h: Remove forward decls of struct type
+       and struct value.
+       (FUNCTION_START_OFFSET): Remove.
+       (BREAKPOINT): Ditto.
+
 2002-04-25  Jason Thorpe  <thorpej@wasabisystems.com>
 
        * MAINTAINERS: Reflect that multi-arch is enabled for VAX.
index 035b8d9d780a8d29e7d2ae8b27ddc0eb2cff9b44..4bec6bcbfe9a2f6b7d18018814132c3f51e49686 100644 (file)
@@ -59,6 +59,8 @@ static gdbarch_extract_struct_value_address_ftype
     alpha_extract_struct_value_address;
 static gdbarch_use_struct_convention_ftype alpha_use_struct_convention;
 
+static gdbarch_breakpoint_from_pc_ftype alpha_breakpoint_from_pc;
+
 static gdbarch_frame_args_address_ftype alpha_frame_args_address;
 static gdbarch_frame_locals_address_ftype alpha_frame_locals_address;
 
@@ -1496,6 +1498,16 @@ alpha_register_convert_to_raw (struct type *valtype, int regnum,
     error ("Cannot store value in floating point register");
 }
 
+static const unsigned char *
+alpha_breakpoint_from_pc (CORE_ADDR *pcptr, int *lenptr)
+{
+  static const unsigned char alpha_breakpoint[] =
+    { 0x80, 0, 0, 0 }; /* call_pal bpt */
+
+  *lenptr = sizeof(alpha_breakpoint);
+  return (alpha_breakpoint);
+}
+
 /* Given a return value in `regbuf' with a type `valtype', 
    extract and copy its value into `valbuf'.  */
 
@@ -2061,7 +2073,10 @@ alpha_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   set_gdbarch_coerce_float_to_double (gdbarch,
                                       standard_coerce_float_to_double);
 
+  set_gdbarch_breakpoint_from_pc (gdbarch, alpha_breakpoint_from_pc);
   set_gdbarch_decr_pc_after_break (gdbarch, 4);
+
+  set_gdbarch_function_start_offset (gdbarch, 0);
   set_gdbarch_frame_args_skip (gdbarch, 0);
 
   /* Hook in ABI-specific overrides, if they have been registered.  */
index a37933288ce26064502ee28e1b8b11f29a705640..b8bcb397ce6f304dd7a1115f9e48a53eafecd0a5 100644 (file)
@@ -31,8 +31,6 @@
 #include "coff/symconst.h"
 
 struct frame_info;
-struct type;
-struct value;
 struct symbol;
 
 /* Number of traps that happen between exec'ing the shell
@@ -40,13 +38,6 @@ struct symbol;
    the inferior code.  This is 2 on most implementations.  */
 #define START_INFERIOR_TRAPS_EXPECTED 3
 
-/* Offset from address of function to start of its code.
-   Zero on most machines.  */
-
-#define FUNCTION_START_OFFSET 0
-
-#define BREAKPOINT {0x80, 0, 0, 0}     /* call_pal bpt */
-
 /* Special symbol found in blocks associated with routines.  We can hang
    alpha_extra_func_info_t's off of this.  */