gdb/testsuite:
[deliverable/binutils-gdb.git] / gdb / rx-tdep.c
index 6506de93138468590bb3b24d4d994705a4efbd6c..95d9e3d9145b3021cd594cf0690b5592142ff777 100644 (file)
@@ -1,6 +1,6 @@
 /* Target-dependent code for the Renesas RX for GDB, the GNU debugger.
 
-   Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
+   Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
    Contributed by Red Hat, Inc.
 
@@ -46,7 +46,8 @@ enum
   RX_FP_REGNUM = 6,
   RX_R15_REGNUM = 15,
   RX_PC_REGNUM = 19,
-  RX_NUM_REGS = 25
+  RX_ACC_REGNUM = 25,
+  RX_NUM_REGS = 26
 };
 
 /* Architecture specific data.  */
@@ -111,15 +112,16 @@ rx_register_name (struct gdbarch *gdbarch, int regnr)
     "r13",
     "r14",
     "r15",
-    "isp",
     "usp",
-    "intb",
-    "pc",
+    "isp",
     "psw",
-    "bpc",
+    "pc",
+    "intb",
     "bpsw",
-    "vct",
-    "fpsw"
+    "bpc",
+    "fintv",
+    "fpsw",
+    "acc"
   };
 
   return reg_names[regnr];
@@ -131,6 +133,8 @@ rx_register_type (struct gdbarch *gdbarch, int reg_nr)
 {
   if (reg_nr == RX_PC_REGNUM)
     return builtin_type (gdbarch)->builtin_func_ptr;
+  else if (reg_nr == RX_ACC_REGNUM)
+    return builtin_type (gdbarch)->builtin_unsigned_long_long;
   else
     return builtin_type (gdbarch)->builtin_unsigned_long;
 }
@@ -292,7 +296,6 @@ rx_analyze_prologue (CORE_ADDR start_pc,
        }
       else if (opc.id == RXO_branch
               && opc.op[0].type == RX_Operand_Immediate
-              && opc.op[1].type == RX_Operand_Condition
               && next_pc < opc.op[0].addend)
        {
          /* When a loop appears as the first statement of a function
@@ -350,7 +353,7 @@ rx_analyze_prologue (CORE_ADDR start_pc,
 static CORE_ADDR
 rx_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
 {
-  char *name;
+  const char *name;
   CORE_ADDR func_addr, func_end;
   struct rx_prologue p;
 
@@ -452,6 +455,7 @@ rx_frame_prev_register (struct frame_info *this_frame,
 
 static const struct frame_unwind rx_frame_unwind = {
   NORMAL_FRAME,
+  default_frame_unwind_stop_reason,
   rx_frame_this_id,
   rx_frame_prev_register,
   NULL,
@@ -752,7 +756,7 @@ rx_return_value (struct gdbarch *gdbarch,
 }
 
 /* Implement the "breakpoint_from_pc" gdbarch method.  */
-const gdb_byte *
+static const gdb_byte *
 rx_breakpoint_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr, int *lenptr)
 {
   static gdb_byte breakpoint[] = { 0x00 };
@@ -855,7 +859,11 @@ rx_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   return gdbarch;
 }
 
+/* -Wmissing-prototypes */
+extern initialize_file_ftype _initialize_rx_tdep;
+
 /* Register the above initialization routine.  */
+
 void
 _initialize_rx_tdep (void)
 {
This page took 0.024602 seconds and 4 git commands to generate.