OSDN Git Service

* generic/gdbtk-bp.c: Include "arch-utils.h".
authormuller <muller>
Tue, 7 Jul 2009 12:38:56 +0000 (12:38 +0000)
committermuller <muller>
Tue, 7 Jul 2009 12:38:56 +0000 (12:38 +0000)
(set_raw_breakpoint): Update external definition.
(gdb_set_bp): Adapt to set_raw_breakpoint change.
(gdb_set_bp_addr): Likewise.
* generic/gdbtk-cmds.c: Include "arch-utils.h.
(gdbtk_load_asm): Adapt to paddress and gdb_print_insn changes.
(hex2bin): Replace current_gdbarch by get_current_arch call.
(gdb_update_mem): Adapt to builtin_type changes.
(gdb_CA_to_TAS): Use paddress to replace removed function paddr_nz.
* generic/gdbtk-register.c: Include "arch-utils.h".
(get_register_size): Replace current_gdbarch by get_current_arch call.
(get_register_types): Likewise.
(get_register): Likewise.
(get_register_name): Likewise.
(map_arg_registers): Likewise.
(register_changed_p): Likewise.
(setup_architecture_data): Likewise.
(gdb_regformat): Likewise.
(gdb_reggrouplist): Likewise.
(gdb_reggroup): Likewise.
* generic/gdbtk-stack.c: Inlcude "arch-utils.h".
(gdb_get_blocks): Use paddress instead of removed paddr_nz function.
(gdb_selected_block): Likewise.
(gdb_selected_frame): Likewise.

gdb/gdbtk/ChangeLog
gdb/gdbtk/generic/gdbtk-bp.c
gdb/gdbtk/generic/gdbtk-cmds.c
gdb/gdbtk/generic/gdbtk-register.c
gdb/gdbtk/generic/gdbtk-stack.c

index 3bdc25f..9604e2a 100644 (file)
@@ -1,3 +1,33 @@
+2009-07-07  Pierre Muller  <muller@ics.u-strasbg.fr>
+
+       * generic/gdbtk-bp.c: Include "arch-utils.h".
+       (set_raw_breakpoint): Update external definition.
+       (gdb_set_bp): Adapt to set_raw_breakpoint change.
+       (gdb_set_bp_addr): Likewise.
+
+       * generic/gdbtk-cmds.c: Include "arch-utils.h.
+       (gdbtk_load_asm): Adapt to paddress and gdb_print_insn changes.
+       (hex2bin): Replace current_gdbarch by get_current_arch call.
+       (gdb_update_mem): Adapt to builtin_type changes.
+       (gdb_CA_to_TAS): Use paddress to replace removed function paddr_nz.
+
+       * generic/gdbtk-register.c: Include "arch-utils.h".
+       (get_register_size): Replace current_gdbarch by get_current_arch call.
+       (get_register_types): Likewise.
+       (get_register): Likewise.
+       (get_register_name): Likewise.
+       (map_arg_registers): Likewise.
+       (register_changed_p): Likewise.
+       (setup_architecture_data): Likewise.
+       (gdb_regformat): Likewise.
+       (gdb_reggrouplist): Likewise.
+       (gdb_reggroup): Likewise.
+
+       * generic/gdbtk-stack.c: Inlcude "arch-utils.h".
+       (gdb_get_blocks): Use paddress instead of removed paddr_nz function.
+       (gdb_selected_block): Likewise.
+       (gdb_selected_frame): Likewise.
+
 2009-06-19  Pedro Alves  <pedro@codesourcery.com>
 
        * generic/gdbtk-cmds.c (gdb_update_mem): Dispatch
index 5d7dd02..bbf9d48 100644 (file)
@@ -30,6 +30,7 @@
 #include "gdbtk.h"
 #include "gdbtk-cmds.h"
 #include "observer.h"
+#include "arch-utils.h"
 
 /* From breakpoint.c */
 extern struct breakpoint *breakpoint_chain;
@@ -75,8 +76,9 @@ char *bpdisp[] =
  * at some point make these static in breakpoint.c and move GUI code there
  */
 
-extern struct breakpoint *set_raw_breakpoint (struct symtab_and_line sal,
-                                             enum bptype bp_type);
+extern struct breakpoint *set_raw_breakpoint (struct gdbarch *gdbarch,
+                                             struct symtab_and_line,
+                                             enum bptype);
 extern void set_breakpoint_count (int);
 extern int breakpoint_count;
 
@@ -545,7 +547,7 @@ gdb_set_bp (ClientData clientData, Tcl_Interp *interp,
     return TCL_ERROR;
 
   sal.section = find_pc_overlay (sal.pc);
-  b = set_raw_breakpoint (sal, bp_breakpoint);
+  b = set_raw_breakpoint (get_current_arch (), sal, bp_breakpoint);
   set_breakpoint_count (breakpoint_count + 1);
   b->number = breakpoint_count;
   b->disposition = disp;
@@ -618,7 +620,7 @@ gdb_set_bp_addr (ClientData clientData, Tcl_Interp *interp, int objc,
 
   sal = find_pc_line (addr, 0);
   sal.pc = addr;
-  b = set_raw_breakpoint (sal, bp_breakpoint);
+  b = set_raw_breakpoint (get_current_arch (), sal, bp_breakpoint);
   set_breakpoint_count (breakpoint_count + 1);
   b->number = breakpoint_count;
   b->disposition = disp;
index a08dda5..d490232 100644 (file)
@@ -45,6 +45,7 @@
 #include "target.h"
 #include "valprint.h"
 #include "regcache.h"
+#include "arch-utils.h"
 
 /* tcl header files includes varargs.h unless HAS_STDARG is defined,
    but gdb uses stdarg.h, so make sure HAS_STDARG is defined.  */
@@ -1895,7 +1896,7 @@ gdbtk_load_asm (ClientData clientData, CORE_ADDR pc,
   for (i = 0; i < 3; i++)
     Tcl_SetObjLength (client_data->result_obj[i], 0);
 
-  fputs_filtered (paddress (pc), gdb_stdout);
+  fputs_filtered (paddress (get_current_arch (), pc), gdb_stdout);
   gdb_flush (gdb_stdout);
 
   result_ptr->obj_ptr = client_data->result_obj[1];
@@ -1904,7 +1905,7 @@ gdbtk_load_asm (ClientData clientData, CORE_ADDR pc,
 
   result_ptr->obj_ptr = client_data->result_obj[2];
   /* FIXME: cagney/2003-09-08: This should use gdb_disassembly.  */
-  insn = gdb_print_insn (pc, gdb_stdout, NULL);
+  insn = gdb_print_insn (get_current_arch (), pc, gdb_stdout, NULL);
   gdb_flush (gdb_stdout);
 
   client_data->widget_line_no++;
@@ -2271,7 +2272,7 @@ hex2bin (const char *hex, char *bin, int count)
   int incr = 2;
 
 
-  if (gdbarch_byte_order (current_gdbarch) == BFD_ENDIAN_LITTLE)
+  if (gdbarch_byte_order (get_current_arch ()) == BFD_ENDIAN_LITTLE)
     {
       /* need to read string in reverse */
       hex += count - 2;
@@ -2466,23 +2467,23 @@ gdb_update_mem (ClientData clientData, Tcl_Interp *interp,
   switch (size)
     {
     case 1:
-      val_type = builtin_type_int8;
+      val_type = builtin_type (get_current_arch ())->builtin_int8;
       asize = 'b';
       break;
     case 2:
-      val_type = builtin_type_int16;
+      val_type = builtin_type (get_current_arch ())->builtin_int16;
       asize = 'h';
       break;
     case 4:
-      val_type = builtin_type_int32;
+      val_type = builtin_type (get_current_arch ())->builtin_int32;
       asize = 'w';
       break;
     case 8:
-      val_type = builtin_type_int64;
+      val_type = builtin_type (get_current_arch ())->builtin_int64;
       asize = 'g';
       break;
     default:
-      val_type = builtin_type_int8;
+      val_type = builtin_type (get_current_arch ())->builtin_int8;
       asize = 'b';
     }
 
@@ -3011,7 +3012,10 @@ gdb_CA_to_TAS (ClientData clientData, Tcl_Interp *interp,
 
   /* This is not really correct.  Using paddr_nz() will convert to hex and truncate 
      to 32-bits when required but will otherwise not do what we really want. */
-  Tcl_SetStringObj (result_ptr->obj_ptr, paddr_nz (address), -1);
+  
+  Tcl_SetStringObj (result_ptr->obj_ptr,
+                   paddress (get_current_arch (), address),
+                   -1);
 
   return TCL_OK;
 }
index 4dcf548..5f99c4d 100644 (file)
@@ -27,6 +27,7 @@
 #include "gdb_string.h"
 #include "language.h"
 #include "valprint.h"
+#include "arch-utils.h"
 
 #include <tcl.h>
 #include "gdbtk.h"
@@ -211,7 +212,8 @@ static void
 get_register_size (int regnum, map_arg arg)
 {
   Tcl_ListObjAppendElement (gdbtk_interp, result_ptr->obj_ptr,
-                           Tcl_NewIntObj (register_size (current_gdbarch, regnum)));
+                           Tcl_NewIntObj (register_size (get_current_arch (),
+                                                         regnum)));
 }
 
 /* returns a list of valid types for a register */
@@ -224,7 +226,7 @@ get_register_types (int regnum, map_arg arg)
   struct type *reg_vtype;
   int i,n;
 
-  reg_vtype = register_type (current_gdbarch, regnum);
+  reg_vtype = register_type (get_current_arch (), regnum);
   
   if (TYPE_CODE (reg_vtype) == TYPE_CODE_UNION)
     {
@@ -287,7 +289,7 @@ get_register (int regnum, map_arg arg)
   
   reg_vtype = regtype[regnum];
   if (reg_vtype == NULL)
-    reg_vtype = register_type (current_gdbarch, regnum);
+    reg_vtype = register_type (get_current_arch (), regnum);
 
   if (!target_has_registers)
     {
@@ -319,10 +321,10 @@ get_register (int regnum, map_arg arg)
 
       strcpy (buf, "0x");
       ptr = buf + 2;
-      for (j = 0; j < register_size (current_gdbarch, regnum); j++)
+      for (j = 0; j < register_size (get_current_arch (), regnum); j++)
        {
-         int idx = ((gdbarch_byte_order (current_gdbarch) == BFD_ENDIAN_BIG)
-                    ? j : register_size (current_gdbarch, regnum) - 1 - j);
+         int idx = ((gdbarch_byte_order (get_current_arch ()) == BFD_ENDIAN_BIG)
+                    ? j : register_size (get_current_arch (), regnum) - 1 - j);
          sprintf (ptr, "%02x", (unsigned char) buffer[idx]);
          ptr += 2;
        }
@@ -338,7 +340,7 @@ get_register (int regnum, map_arg arg)
 
       if ((TYPE_CODE (reg_vtype) == TYPE_CODE_UNION)
          && (strcmp (FIELD_NAME (TYPE_FIELD (reg_vtype, 0)), 
-                     gdbarch_register_name (current_gdbarch, regnum)) == 0))
+                     gdbarch_register_name (get_current_arch (), regnum)) == 0))
        {
          val_print (FIELD_TYPE (TYPE_FIELD (reg_vtype, 0)), buffer, 0, 0,
                     stb, 0, &opts, current_language);
@@ -365,7 +367,7 @@ get_register_name (int regnum, map_arg arg)
   /* Non-zero if the caller wants the register numbers, too.  */
   int numbers = arg.integer;
   Tcl_Obj *name
-    = Tcl_NewStringObj (gdbarch_register_name (current_gdbarch, regnum), -1);
+    = Tcl_NewStringObj (gdbarch_register_name (get_current_arch (), regnum), -1);
   Tcl_Obj *elt;
 
   if (numbers)
@@ -398,16 +400,16 @@ map_arg_registers (Tcl_Interp *interp, int objc, Tcl_Obj **objv,
      In this case, some entries of gdbarch_register_name will change
      depending upon the particular processor being debugged.  */
 
-  numregs = (gdbarch_num_regs (current_gdbarch)
-            + gdbarch_num_pseudo_regs (current_gdbarch));
+  numregs = (gdbarch_num_regs (get_current_arch ())
+            + gdbarch_num_pseudo_regs (get_current_arch ()));
 
   if (objc == 0)               /* No args, just do all the regs */
     {
       result_ptr->flags |= GDBTK_MAKES_LIST;
       for (regnum = 0; regnum < numregs; regnum++)
        {
-         if (gdbarch_register_name (current_gdbarch, regnum) == NULL
-             || *(gdbarch_register_name (current_gdbarch, regnum)) == '\0')
+         if (gdbarch_register_name (get_current_arch (), regnum) == NULL
+             || *(gdbarch_register_name (get_current_arch (), regnum)) == '\0')
            continue;
          func (regnum, arg);
        }      
@@ -451,13 +453,13 @@ register_changed_p (int regnum, map_arg arg)
     return;
 
   if (memcmp (&old_regs[regnum * MAX_REGISTER_SIZE], raw_buffer,
-             register_size (current_gdbarch, regnum)) == 0)
+             register_size (get_current_arch (), regnum)) == 0)
     return;
 
   /* Found a changed register.  Save new value and return its number. */
 
   memcpy (&old_regs[regnum * MAX_REGISTER_SIZE], raw_buffer,
-         register_size (current_gdbarch, regnum));
+         register_size (get_current_arch (), regnum));
 
   Tcl_ListObjAppendElement (NULL, result_ptr->obj_ptr, Tcl_NewIntObj (regnum));
 }
@@ -471,8 +473,8 @@ setup_architecture_data ()
   xfree (regformat);
   xfree (regtype);
 
-  numregs = (gdbarch_num_regs (current_gdbarch)
-            + gdbarch_num_pseudo_regs (current_gdbarch));
+  numregs = (gdbarch_num_regs (get_current_arch ())
+            + gdbarch_num_pseudo_regs (get_current_arch ()));
   old_regs = xcalloc (1, numregs * MAX_REGISTER_SIZE + 1);
   regformat = (int *)xcalloc (numregs, sizeof(int));
   regtype = (struct type **)xcalloc (numregs, sizeof(struct type **));
@@ -502,8 +504,8 @@ gdb_regformat (ClientData clientData, Tcl_Interp *interp,
   type = (struct type *)strtol (Tcl_GetStringFromObj (objv[1], NULL), NULL, 16);  
   fm = (int)*(Tcl_GetStringFromObj (objv[2], NULL));
 
-  numregs = (gdbarch_num_regs (current_gdbarch)
-            + gdbarch_num_pseudo_regs (current_gdbarch));
+  numregs = (gdbarch_num_regs (get_current_arch ())
+            + gdbarch_num_pseudo_regs (get_current_arch ()));
   if (regno >= numregs)
     {
       gdbtk_set_result (interp, "Register number %d too large", regno);
@@ -534,9 +536,9 @@ gdb_reggrouplist (ClientData clientData, Tcl_Interp *interp,
       return TCL_ERROR;
     }
 
-  for (group = reggroup_next (current_gdbarch, NULL);
+  for (group = reggroup_next (get_current_arch (), NULL);
        group != NULL;
-       group = reggroup_next (current_gdbarch, group))
+       group = reggroup_next (get_current_arch (), group))
     {
       if (reggroup_type (group) == USER_REGGROUP)
        Tcl_ListObjAppendElement (NULL, result_ptr->obj_ptr, Tcl_NewStringObj (reggroup_name (group), -1));
@@ -569,9 +571,9 @@ gdb_reggroup (ClientData clientData, Tcl_Interp *interp,
       return TCL_ERROR;
     }
 
-  for (group = reggroup_next (current_gdbarch, NULL);
+  for (group = reggroup_next (get_current_arch (), NULL);
        group != NULL;
-       group = reggroup_next (current_gdbarch, group))
+       group = reggroup_next (get_current_arch (), group))
     {
       if (strcmp (groupname, reggroup_name (group)) == 0)
        break;
@@ -580,11 +582,11 @@ gdb_reggroup (ClientData clientData, Tcl_Interp *interp,
   if (group == NULL)
     return TCL_ERROR;
 
-  num = (gdbarch_num_regs (current_gdbarch)
-        + gdbarch_num_pseudo_regs (current_gdbarch));
+  num = (gdbarch_num_regs (get_current_arch ())
+        + gdbarch_num_pseudo_regs (get_current_arch ()));
   for (regnum = 0; regnum < num; regnum++)
     {
-      if (gdbarch_register_reggroup_p (current_gdbarch, regnum, group))
+      if (gdbarch_register_reggroup_p (get_current_arch (), regnum, group))
        Tcl_ListObjAppendElement (NULL, result_ptr->obj_ptr, Tcl_NewIntObj (regnum));
     }
   return TCL_OK;
index 5e43628..43c4a08 100644 (file)
@@ -25,6 +25,7 @@
 #include "block.h"
 #include "dictionary.h"
 #include "varobj.h"
+#include "arch-utils.h"
 
 #include <tcl.h>
 #include "gdbtk.h"
@@ -211,11 +212,13 @@ gdb_get_blocks (ClientData clientData, Tcl_Interp *interp,
              char *addr;
 
              Tcl_Obj *elt = Tcl_NewListObj (0, NULL);
-             addr = xstrprintf ("0x%s", paddr_nz (BLOCK_START (block)));
+             addr = xstrprintf ("%s", paddress (get_current_arch (),
+                                                BLOCK_START (block)));
              Tcl_ListObjAppendElement (interp, elt,
                                        Tcl_NewStringObj (addr, -1));
              free(addr);
-             addr = xstrprintf ("0x%s", paddr_nz (BLOCK_END (block)));
+             addr = xstrprintf ("%s", paddress (get_current_arch (),
+                                                BLOCK_END (block)));
              Tcl_ListObjAppendElement (interp, elt,
                                        Tcl_NewStringObj (addr, -1));
              Tcl_ListObjAppendElement (interp, result_ptr->obj_ptr, elt);
@@ -384,8 +387,10 @@ gdb_selected_block (ClientData clientData, Tcl_Interp *interp,
     {
       struct block *block;
       block = get_frame_block (get_selected_frame (NULL), 0);
-      start = xstrprintf ("0x%s", paddr_nz (BLOCK_START (block)));
-      end = xstrprintf ("0x%s", paddr_nz (BLOCK_END (block)));
+      start = xstrprintf ("%s", paddress (get_current_arch (),
+                                         BLOCK_START (block)));
+      end = xstrprintf ("%s", paddress (get_current_arch (),
+                                       BLOCK_END (block)));
     }
 
   Tcl_SetListObj (result_ptr->obj_ptr, 0, NULL);
@@ -420,8 +425,8 @@ gdb_selected_frame (ClientData clientData, Tcl_Interp *interp,
   else
     /* FIXME: cagney/2002-11-19: This should be using get_frame_id()
        to identify the frame and *NOT* get_frame_base().  */
-    frame = xstrprintf ("0x%s",
-              paddr_nz (get_frame_base (get_selected_frame (NULL))));
+    frame = xstrprintf ("%s",paddress (get_current_arch (),
+                       get_frame_base (get_selected_frame (NULL))));
 
   Tcl_SetStringObj (result_ptr->obj_ptr, frame, -1);