2003-09-11 Elena Zannoni <ezannoni@redhat.com>
[deliverable/binutils-gdb.git] / gdb / xstormy16-tdep.c
index 1ff96a4ec22825fac1c9f36a75ea70959943b104..2e9585249cc187589226fef0fcc53fa647d66754 100644 (file)
@@ -27,6 +27,7 @@
 #include "regcache.h"
 #include "gdbcore.h"
 #include "objfiles.h"
+#include "dis-asm.h"
 
 struct gdbarch_tdep
 {
@@ -228,8 +229,8 @@ xstormy16_extract_return_value (struct type *type, char *regbuf, char *valbuf)
       /* Aggregates and return values > 12 bytes are returned in memory,
          pointed to by R2. */
       return_buffer =
-       extract_address (regbuf + REGISTER_BYTE (E_PTR_RET_REGNUM),
-                        REGISTER_RAW_SIZE (E_PTR_RET_REGNUM));
+       extract_unsigned_integer (regbuf + REGISTER_BYTE (E_PTR_RET_REGNUM),
+                                 REGISTER_RAW_SIZE (E_PTR_RET_REGNUM));
 
       read_memory (return_buffer, valbuf, TYPE_LENGTH (type));
     }
@@ -307,12 +308,12 @@ xstormy16_push_arguments (int nargs, struct value **args, CORE_ADDR sp,
    (which may or may not be the same as before).
 */
 
-CORE_ADDR
+static CORE_ADDR
 xstormy16_push_return_address (CORE_ADDR pc, CORE_ADDR sp)
 {
   unsigned char buf[xstormy16_pc_size];
 
-  store_unsigned_integer (buf, xstormy16_pc_size, CALL_DUMMY_ADDRESS ());
+  store_unsigned_integer (buf, xstormy16_pc_size, entry_point_address ());
   write_memory (sp, buf, xstormy16_pc_size);
   return sp + xstormy16_pc_size;
 }
@@ -410,9 +411,8 @@ xstormy16_store_return_value (struct type *type, char *valbuf)
 static CORE_ADDR
 xstormy16_extract_struct_value_address (char *regbuf)
 {
-  return extract_address (regbuf +
-                         xstormy16_register_byte (E_PTR_RET_REGNUM),
-                         xstormy16_reg_size);
+  return extract_unsigned_integer (regbuf + xstormy16_register_byte (E_PTR_RET_REGNUM),
+                                  xstormy16_reg_size);
 }
 
 /* Function: xstormy16_use_struct_convention 
@@ -648,7 +648,7 @@ xstormy16_skip_prologue (CORE_ADDR pc)
         return plg_end;
 
       /* Found a function.  */
-      sym = lookup_symbol (func_name, NULL, VAR_NAMESPACE, NULL, NULL);
+      sym = lookup_symbol (func_name, NULL, VAR_DOMAIN, NULL, NULL);
       /* Don't use line number debug info for assembly source files. */
       if (sym && SYMBOL_LANGUAGE (sym) != language_asm)
        {
@@ -962,7 +962,7 @@ static CORE_ADDR
 xstormy16_pointer_to_address (struct type *type, const void *buf)
 {
   enum type_code target = TYPE_CODE (TYPE_TARGET_TYPE (type));
-  CORE_ADDR addr = extract_address (buf, TYPE_LENGTH (type));
+  CORE_ADDR addr = extract_unsigned_integer (buf, TYPE_LENGTH (type));
 
   if (target == TYPE_CODE_FUNC || target == TYPE_CODE_METHOD)
     {
@@ -985,7 +985,7 @@ xstormy16_address_to_pointer (struct type *type, void *buf, CORE_ADDR addr)
       if (addr2)
        addr = addr2;
     }
-  store_address (buf, TYPE_LENGTH (type), addr);
+  store_unsigned_integer (buf, TYPE_LENGTH (type), addr);
 }
 
 static CORE_ADDR
@@ -996,7 +996,7 @@ xstormy16_stack_align (CORE_ADDR addr)
   return addr;
 }
 
-void
+static void
 xstormy16_save_dummy_frame_tos (CORE_ADDR sp)
 {
   generic_save_dummy_frame_tos (sp - xstormy16_pc_size);
@@ -1038,14 +1038,14 @@ xstormy16_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   set_gdbarch_deprecated_fp_regnum (gdbarch, E_FP_REGNUM);
   set_gdbarch_pc_regnum (gdbarch, E_PC_REGNUM);
   set_gdbarch_register_name (gdbarch, xstormy16_register_name);
-  set_gdbarch_register_size (gdbarch, xstormy16_reg_size);
-  set_gdbarch_register_bytes (gdbarch, E_ALL_REGS_SIZE);
-  set_gdbarch_register_byte (gdbarch, xstormy16_register_byte);
-  set_gdbarch_register_raw_size (gdbarch, xstormy16_register_raw_size);
+  set_gdbarch_deprecated_register_size (gdbarch, xstormy16_reg_size);
+  set_gdbarch_deprecated_register_bytes (gdbarch, E_ALL_REGS_SIZE);
+  set_gdbarch_deprecated_register_byte (gdbarch, xstormy16_register_byte);
+  set_gdbarch_deprecated_register_raw_size (gdbarch, xstormy16_register_raw_size);
   set_gdbarch_deprecated_max_register_raw_size (gdbarch, xstormy16_pc_size);
-  set_gdbarch_register_virtual_size (gdbarch, xstormy16_register_raw_size);
+  set_gdbarch_deprecated_register_virtual_size (gdbarch, xstormy16_register_raw_size);
   set_gdbarch_deprecated_max_register_virtual_size (gdbarch, 4);
-  set_gdbarch_register_virtual_type (gdbarch, xstormy16_reg_virtual_type);
+  set_gdbarch_deprecated_register_virtual_type (gdbarch, xstormy16_reg_virtual_type);
 
   /*
    * Frame Info
@@ -1076,8 +1076,6 @@ xstormy16_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   set_gdbarch_function_start_offset (gdbarch, 0);
   /* This value is almost never non-zero... */
   set_gdbarch_frame_args_skip (gdbarch, 0);
-  /* OK to default this value to 'unknown'. */
-  set_gdbarch_frame_num_args (gdbarch, frame_num_args_unknown);
 
   /*
    * Call Dummies
@@ -1092,8 +1090,8 @@ xstormy16_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   set_gdbarch_deprecated_extract_struct_value_address (gdbarch, xstormy16_extract_struct_value_address);
   set_gdbarch_use_struct_convention (gdbarch,
                                     xstormy16_use_struct_convention);
-  set_gdbarch_call_dummy_words (gdbarch, call_dummy_words);
-  set_gdbarch_sizeof_call_dummy_words (gdbarch, 0);
+  set_gdbarch_deprecated_call_dummy_words (gdbarch, call_dummy_words);
+  set_gdbarch_deprecated_sizeof_call_dummy_words (gdbarch, 0);
   set_gdbarch_breakpoint_from_pc (gdbarch, xstormy16_breakpoint_from_pc);
 
   set_gdbarch_char_signed (gdbarch, 0);
@@ -1105,9 +1103,9 @@ xstormy16_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   set_gdbarch_address_to_pointer (gdbarch, xstormy16_address_to_pointer);
   set_gdbarch_pointer_to_address (gdbarch, xstormy16_pointer_to_address);
 
-  set_gdbarch_stack_align (gdbarch, xstormy16_stack_align);
+  set_gdbarch_deprecated_stack_align (gdbarch, xstormy16_stack_align);
 
-  set_gdbarch_save_dummy_frame_tos (gdbarch, xstormy16_save_dummy_frame_tos);
+  set_gdbarch_deprecated_save_dummy_frame_tos (gdbarch, xstormy16_save_dummy_frame_tos);
 
   set_gdbarch_skip_trampoline_code (gdbarch, xstormy16_skip_trampoline_code);
 
@@ -1115,7 +1113,9 @@ xstormy16_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
                                        xstormy16_in_solib_call_trampoline);
 
   /* Should be using push_dummy_call.  */
-  set_gdbarch_deprecated_dummy_write_sp (gdbarch, generic_target_write_sp);
+  set_gdbarch_deprecated_dummy_write_sp (gdbarch, deprecated_write_sp);
+
+  set_gdbarch_print_insn (gdbarch, print_insn_xstormy16);
 
   return gdbarch;
 }
@@ -1124,11 +1124,10 @@ xstormy16_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
    Initializer function for the Sanyo Xstormy16a module.
    Called by gdb at start-up. */
 
+extern initialize_file_ftype _initialize_xstormy16_tdep; /* -Wmissing-prototypes */
+
 void
 _initialize_xstormy16_tdep (void)
 {
-  extern int print_insn_xstormy16 ();
-
   register_gdbarch_init (bfd_arch_xstormy16, xstormy16_gdbarch_init);
-  deprecated_tm_print_insn = print_insn_xstormy16;
 }
This page took 0.027574 seconds and 4 git commands to generate.