2004-09-12 Andrew Cagney <cagney@gnu.org>
[deliverable/binutils-gdb.git] / gdb / frv-tdep.c
index b1b5cd084aa50e371199880ae4d343ca8552c1c7..7bc09f0208d996e4d09025477d19eb2320fab00f 100644 (file)
@@ -37,6 +37,7 @@
 #include "elf-bfd.h"
 #include "elf/frv.h"
 #include "osabi.h"
+#include "infcall.h"
 #include "frv-tdep.h"
 
 extern void _initialize_frv_tdep (void);
@@ -196,7 +197,7 @@ new_variant (void)
   for (r = acc0_regnum; r <= acc7_regnum; r++)
     {
       char *buf;
-      xasprintf (&buf, "acc%d", r - acc0_regnum);
+      buf = xstrprintf ("acc%d", r - acc0_regnum);
       var->register_names[r] = buf;
     }
 
@@ -209,7 +210,7 @@ new_variant (void)
   for (r = accg0_regnum; r <= accg7_regnum; r++)
     {
       char *buf;
-      xasprintf (&buf, "accg%d", r - accg0_regnum);
+      buf = xstrprintf ("accg%d", r - accg0_regnum);
       var->register_names[r] = buf;
     }
 
@@ -455,7 +456,7 @@ frv_gdbarch_adjust_breakpoint_address (struct gdbarch *gdbarch, CORE_ADDR bpaddr
       char instr[frv_instr_size];
       int status;
 
-      status = read_memory_nobpt (addr, instr, sizeof instr);
+      status = deprecated_read_memory_nobpt (addr, instr, sizeof instr);
 
       if (status != 0)
        break;
@@ -1065,12 +1066,6 @@ frv_store_struct_return (CORE_ADDR addr, CORE_ADDR sp)
   write_register (struct_return_regnum, addr);
 }
 
-static int
-frv_frameless_function_invocation (struct frame_info *frame)
-{
-  return legacy_frameless_look_for_prologue (frame);
-}
-
 static CORE_ADDR
 frv_frame_align (struct gdbarch *gdbarch, CORE_ADDR sp)
 {
@@ -1118,7 +1113,7 @@ frv_convert_from_func_ptr_addr (struct gdbarch *gdbarch, CORE_ADDR addr,
 }
 
 static CORE_ADDR
-frv_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
+frv_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
                      struct regcache *regcache, CORE_ADDR bp_addr,
                      int nargs, struct value **args, CORE_ADDR sp,
                     int struct_return, CORE_ADDR struct_addr)
@@ -1135,6 +1130,7 @@ frv_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
   int stack_space;
   int stack_offset;
   enum frv_abi abi = frv_abi (gdbarch);
+  CORE_ADDR func_addr = find_function_addr (function, NULL);
 
 #if 0
   printf("Push %d args at sp = %x, struct_return=%d (%x)\n",
@@ -1368,8 +1364,8 @@ frv_frame_prev_register (struct frame_info *next_frame,
 {
   struct frv_unwind_cache *info
     = frv_frame_unwind_cache (next_frame, this_prologue_cache);
-  trad_frame_prev_register (next_frame, info->saved_regs, regnum,
-                           optimizedp, lvalp, addrp, realnump, bufferp);
+  trad_frame_get_prev_register (next_frame, info->saved_regs, regnum,
+                               optimizedp, lvalp, addrp, realnump, bufferp);
 }
 
 static const struct frame_unwind frv_frame_unwind = {
@@ -1494,9 +1490,7 @@ frv_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   set_gdbarch_breakpoint_from_pc (gdbarch, frv_breakpoint_from_pc);
   set_gdbarch_adjust_breakpoint_address (gdbarch, frv_gdbarch_adjust_breakpoint_address);
 
-  set_gdbarch_deprecated_frameless_function_invocation (gdbarch, frv_frameless_function_invocation);
-
-  set_gdbarch_use_struct_convention (gdbarch, always_use_struct_convention);
+  set_gdbarch_deprecated_use_struct_convention (gdbarch, always_use_struct_convention);
   set_gdbarch_extract_return_value (gdbarch, frv_extract_return_value);
 
   set_gdbarch_deprecated_store_struct_return (gdbarch, frv_store_struct_return);
This page took 0.025404 seconds and 4 git commands to generate.