2004-11-08 Andrew Cagney <cagney@gnu.org>
[deliverable/binutils-gdb.git] / gdb / arm-tdep.c
index 8122138e37305b9fc7b85197edf49f202f64c53b..43de3b1f095a1bf7c4735c9ca617e011f26c11db 100644 (file)
@@ -269,39 +269,6 @@ arm_saved_pc_after_call (struct frame_info *frame)
   return ADDR_BITS_REMOVE (read_register (ARM_LR_REGNUM));
 }
 
-/* Determine whether the function invocation represented by FI has a
-   frame on the stack associated with it.  If it does return zero,
-   otherwise return 1.  */
-
-static int
-arm_frameless_function_invocation (struct frame_info *fi)
-{
-  CORE_ADDR func_start, after_prologue;
-  int frameless;
-
-  /* Sometimes we have functions that do a little setup (like saving the
-     vN registers with the stmdb instruction, but DO NOT set up a frame.
-     The symbol table will report this as a prologue.  However, it is
-     important not to try to parse these partial frames as frames, or we
-     will get really confused.
-
-     So I will demand 3 instructions between the start & end of the
-     prologue before I call it a real prologue, i.e. at least
-       mov ip, sp,
-       stmdb sp!, {}
-       sub sp, ip, #4.  */
-
-  func_start = (get_frame_func (fi) + FUNCTION_START_OFFSET);
-  after_prologue = SKIP_PROLOGUE (func_start);
-
-  /* There are some frameless functions whose first two instructions
-     follow the standard APCS form, in which case after_prologue will
-     be func_start + 8.  */
-
-  frameless = (after_prologue < func_start + 12);
-  return frameless;
-}
-
 /* A typical Thumb prologue looks like this:
    push    {r7, lr}
    add     sp, sp, #-28
@@ -1029,8 +996,8 @@ arm_prologue_prev_register (struct frame_info *next_frame,
       return;
     }
 
-  trad_frame_prev_register (next_frame, cache->saved_regs, prev_regnum,
-                           optimized, lvalp, addrp, realnump, valuep);
+  trad_frame_get_prev_register (next_frame, cache->saved_regs, prev_regnum,
+                               optimized, lvalp, addrp, realnump, valuep);
 }
 
 struct frame_unwind arm_prologue_unwind = {
@@ -1122,8 +1089,8 @@ arm_sigtramp_prev_register (struct frame_info *next_frame,
     *this_cache = arm_make_sigtramp_cache (next_frame);
   cache = *this_cache;
 
-  trad_frame_prev_register (next_frame, cache->saved_regs, prev_regnum,
-                           optimized, lvalp, addrp, realnump, valuep);
+  trad_frame_get_prev_register (next_frame, cache->saved_regs, prev_regnum,
+                               optimized, lvalp, addrp, realnump, valuep);
 }
 
 struct frame_unwind arm_sigtramp_unwind = {
@@ -2719,8 +2686,6 @@ arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   set_gdbarch_unwind_pc (gdbarch, arm_unwind_pc);
   set_gdbarch_unwind_sp (gdbarch, arm_unwind_sp);
 
-  set_gdbarch_deprecated_frameless_function_invocation (gdbarch, arm_frameless_function_invocation);
-
   frame_base_set_default (gdbarch, &arm_normal_base);
 
   /* Address manipulation.  */
@@ -2745,10 +2710,6 @@ arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   set_gdbarch_sp_regnum (gdbarch, ARM_SP_REGNUM);
   set_gdbarch_pc_regnum (gdbarch, ARM_PC_REGNUM);
   set_gdbarch_deprecated_register_byte (gdbarch, arm_register_byte);
-  set_gdbarch_deprecated_register_bytes (gdbarch,
-                                        (NUM_GREGS * INT_REGISTER_SIZE
-                                         + NUM_FREGS * FP_REGISTER_SIZE
-                                         + NUM_SREGS * STATUS_REGISTER_SIZE));
   set_gdbarch_num_regs (gdbarch, NUM_GREGS + NUM_FREGS + NUM_SREGS);
   set_gdbarch_register_type (gdbarch, arm_register_type);
 
@@ -2762,7 +2723,7 @@ arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   /* Returning results.  */
   set_gdbarch_extract_return_value (gdbarch, arm_extract_return_value);
   set_gdbarch_store_return_value (gdbarch, arm_store_return_value);
-  set_gdbarch_use_struct_convention (gdbarch, arm_use_struct_convention);
+  set_gdbarch_deprecated_use_struct_convention (gdbarch, arm_use_struct_convention);
   set_gdbarch_deprecated_extract_struct_value_address (gdbarch, arm_extract_struct_value_address);
 
   /* Single stepping.  */
@@ -2930,7 +2891,7 @@ _initialize_arm_tdep (void)
                              &setlist);
   set_cmd_sfunc (new_set, set_disassembly_style_sfunc);
   deprecate_cmd (new_set, "set arm disassembly");
-  deprecate_cmd (add_show_from_set (new_set, &showlist),
+  deprecate_cmd (deprecated_add_show_from_set (new_set, &showlist),
                 "show arm disassembly");
 
   /* And now add the new interface.  */
@@ -2939,22 +2900,14 @@ _initialize_arm_tdep (void)
                              helptext, &setarmcmdlist);
 
   set_cmd_sfunc (new_set, set_disassembly_style_sfunc);
-  add_show_from_set (new_set, &showarmcmdlist);
-
-  add_setshow_cmd_full ("apcs32", no_class,
-                       var_boolean, (char *) &arm_apcs_32,
-                       "Set usage of ARM 32-bit mode.",
-                       "Show usage of ARM 32-bit mode.",
-                       NULL, NULL,
-                       &setlist, &showlist, &new_set, &new_show);
-  deprecate_cmd (new_set, "set arm apcs32");
-  deprecate_cmd (new_show, "show arm apcs32");
-
-  add_setshow_boolean_cmd ("apcs32", no_class, &arm_apcs_32,
-                          "Set usage of ARM 32-bit mode.  "
-                          "When off, a 26-bit PC will be used.",
-                          "Show usage of ARM 32-bit mode.  "
-                          "When off, a 26-bit PC will be used.",
+  deprecated_add_show_from_set (new_set, &showarmcmdlist);
+
+  add_setshow_boolean_cmd ("apcs32", no_class, &arm_apcs_32, "\
+Set usage of ARM 32-bit mode.", "\
+Show usage of ARM 32-bit mode.", "\
+When off, a 26-bit PC will be used.\n\
+When off, a 26-bit PC will be used.", "\
+Usage of ARM 32-bit mode is %s.",
                           NULL, NULL,
                           &setarmcmdlist, &showarmcmdlist);
 
@@ -2969,7 +2922,8 @@ _initialize_arm_tdep (void)
      "vfp - VFP co-processor.",
      &setarmcmdlist);
   set_cmd_sfunc (new_set, set_fp_model_sfunc);
-  set_cmd_sfunc (add_show_from_set (new_set, &showarmcmdlist), show_fp_model);
+  set_cmd_sfunc (deprecated_add_show_from_set (new_set, &showarmcmdlist),
+                show_fp_model);
 
   /* Add the deprecated "othernames" command.  */
   deprecate_cmd (add_com ("othernames", class_obscure, arm_othernames,
@@ -2977,11 +2931,11 @@ _initialize_arm_tdep (void)
                 "set arm disassembly");
 
   /* Debugging flag.  */
-  add_setshow_boolean_cmd ("arm", class_maintenance, &arm_debug,
-                          "Set ARM debugging.  "
-                          "When on, arm-specific debugging is enabled.",
-                          "Show ARM debugging.  "
-                          "When on, arm-specific debugging is enabled.",
+  add_setshow_boolean_cmd ("arm", class_maintenance, &arm_debug, "\
+Set ARM debugging.", "\
+Show ARM debugging.", "\
+When on, arm-specific debugging is enabled.", "\
+ARM debugging is %s.",
                           NULL, NULL,
                           &setdebuglist, &showdebuglist);
 }
This page took 0.033544 seconds and 4 git commands to generate.