public inbox for insight@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] Rotate ChangeLog, fix build issues
@ 2011-04-08 23:35 Keith Seitz
  2011-04-09  4:14 ` Hui Zhu
  0 siblings, 1 reply; 6+ messages in thread
From: Keith Seitz @ 2011-04-08 23:35 UTC (permalink / raw)
  To: insight; +Cc: teawater

[-- Attachment #1: Type: text/plain, Size: 1000 bytes --]

Hi,

Now that I have something to commit, it is time to rotate the ChangeLog 
for the year...

I've committed the attached patch, which should fix all the build 
problems that have been reported. Additionally, this should fix a 
crashing problem that I discovered (some time ago) in the register window.

If there are any problems, please let me know.

Keith

ChangeLog
2011-04-08  Keith Seitz  <keiths@redhat.com>

	* generic/gdbtk-bp.c (tracepoint_exists): Update for
	decode_line_1 API change.
	* generic/gdbtk-cmds.c (gdb_eval): Use comman_val_print
	instead of val_print.
	(gdb_get_line_command): Update for decode_line_1 API
	changes.
	(gdb_get_file_command): Likewise.
	(gdb_get_function_command): Likewise.
	* generic/gdbtk-register.c (get_register_types): Use
	get_frame_register_value instead of frame_register.
	(get_register): Pass valid VALUE to val_print.
	Consolidate calls to get_current_gdbarch.
	* generic/gdbtk-stack.c (gdb_get_vars_command): Update
	for decode_line_1 API change.

[-- Attachment #2: insight-gdb-api-updates.patch --]
[-- Type: text/plain, Size: 7973 bytes --]

Index: gdbtk-bp.c
===================================================================
RCS file: /cvs/src/src/gdb/gdbtk/generic/gdbtk-bp.c,v
retrieving revision 1.38
diff -u -p -r1.38 gdbtk-bp.c
--- gdbtk-bp.c	13 Nov 2010 23:23:46 -0000	1.38
+++ gdbtk-bp.c	8 Apr 2011 23:25:01 -0000
@@ -1,5 +1,6 @@
 /* Tcl/Tk command definitions for Insight - Breakpoints.
-   Copyright (C) 2001, 2002, 2008, 2009, 2010 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2002, 2008, 2009, 2010, 2011
+   Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -826,12 +827,11 @@ tracepoint_exists (char *args)
   VEC(breakpoint_p) *tp_vec = NULL;
   int ix;
   struct breakpoint *tp;
-  char **canonical;
   struct symtabs_and_lines sals;
   char *file = NULL;
   int result = -1;
 
-  sals = decode_line_1 (&args, 1, NULL, 0, &canonical, NULL);
+  sals = decode_line_1 (&args, 1, NULL, 0, NULL, NULL);
   if (sals.nelts == 1)
     {
       resolve_sal_pc (&sals.sals[0]);
Index: gdbtk-cmds.c
===================================================================
RCS file: /cvs/src/src/gdb/gdbtk/generic/gdbtk-cmds.c,v
retrieving revision 1.118
diff -u -p -r1.118 gdbtk-cmds.c
--- gdbtk-cmds.c	18 Jun 2010 22:25:26 -0000	1.118
+++ gdbtk-cmds.c	8 Apr 2011 23:25:01 -0000
@@ -1,5 +1,6 @@
 /* Tcl/Tk command definitions for Insight.
-   Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2007, 2008, 2010
+   Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004,
+   2007, 2008, 2010, 2011
    Free Software Foundation, Inc.
 
    Written by Stu Grossman <grossman@cygnus.com> of Cygnus Support.
@@ -652,9 +653,7 @@ gdb_eval (ClientData clientData, Tcl_Int
   /* "Print" the result of the expression evaluation. */
   stb = mem_fileopen ();
   make_cleanup_ui_file_delete (stb);
-  val_print (value_type (val), value_contents (val),
-	     value_embedded_offset (val), value_address (val),
-	     stb, 0, val, &opts, current_language);
+  common_val_print (val, stb, 0, &opts, current_language);
   result = ui_file_xstrdup (stb, &dummy);
   Tcl_SetObjResult (interp, Tcl_NewStringObj (result, -1));
   xfree (result);
@@ -953,7 +952,7 @@ gdb_get_line_command (ClientData clientD
 		      int objc, Tcl_Obj *CONST objv[])
 {
   struct symtabs_and_lines sals;
-  char *args, **canonical;
+  char *args;
 
   if (objc != 2)
     {
@@ -962,7 +961,7 @@ gdb_get_line_command (ClientData clientD
     }
 
   args = Tcl_GetStringFromObj (objv[1], NULL);
-  sals = decode_line_1 (&args, 1, NULL, 0, &canonical, NULL);
+  sals = decode_line_1 (&args, 1, NULL, 0, NULL, NULL);
   if (sals.nelts == 1)
     {
       Tcl_SetIntObj (result_ptr->obj_ptr, sals.sals[0].line);
@@ -989,7 +988,7 @@ gdb_get_file_command (ClientData clientD
 		      int objc, Tcl_Obj *CONST objv[])
 {
   struct symtabs_and_lines sals;
-  char *args, **canonical;
+  char *args;
 
   if (objc != 2)
     {
@@ -998,7 +997,7 @@ gdb_get_file_command (ClientData clientD
     }
 
   args = Tcl_GetStringFromObj (objv[1], NULL);
-  sals = decode_line_1 (&args, 1, NULL, 0, &canonical, NULL);
+  sals = decode_line_1 (&args, 1, NULL, 0, NULL, NULL);
   if (sals.nelts == 1)
     {
       Tcl_SetStringObj (result_ptr->obj_ptr,
@@ -1025,7 +1024,7 @@ gdb_get_function_command (ClientData cli
 {
   char *function;
   struct symtabs_and_lines sals;
-  char *args, **canonical;
+  char *args;
 
   if (objc != 2)
     {
@@ -1034,7 +1033,7 @@ gdb_get_function_command (ClientData cli
     }
 
   args = Tcl_GetStringFromObj (objv[1], NULL);
-  sals = decode_line_1 (&args, 1, NULL, 0, &canonical, NULL);
+  sals = decode_line_1 (&args, 1, NULL, 0, NULL, NULL);
   if (sals.nelts == 1)
     {
       resolve_sal_pc (&sals.sals[0]);
Index: gdbtk-register.c
===================================================================
RCS file: /cvs/src/src/gdb/gdbtk/generic/gdbtk-register.c,v
retrieving revision 1.39
diff -u -p -r1.39 gdbtk-register.c
--- gdbtk-register.c	18 Jun 2010 22:25:26 -0000	1.39
+++ gdbtk-register.c	8 Apr 2011 23:25:01 -0000
@@ -1,5 +1,6 @@
 /* Tcl/Tk command definitions for Insight - Registers
-   Copyright (C) 2001, 2002, 2004, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2002, 2004, 2007, 2010, 2011
+   Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -272,17 +273,19 @@ get_register_types (int regnum, map_arg 
 static void
 get_register (int regnum, map_arg arg)
 {
-  int realnum;
   CORE_ADDR addr;
   enum lval_type lval;
   struct type *reg_vtype;
   gdb_byte buffer[MAX_REGISTER_SIZE];
-  int optim, format;
+  int format;
   struct cleanup *old_chain = NULL;
   struct ui_file *stb;
   long dummy;
   char *res;
- 
+  struct gdbarch *gdbarch;
+  struct value *val;
+  struct frame_info *frame;
+
   format = regformat[regnum];
   if (format == 0)
     format = 'x';
@@ -300,10 +303,11 @@ get_register (int regnum, map_arg arg)
       return;
     }
 
-  frame_register (get_selected_frame (NULL), regnum, &optim, &lval, 
-		  &addr, &realnum, buffer);
+  frame = get_selected_frame (NULL);
+  gdbarch = get_frame_arch (frame);
+  val = get_frame_register_value (frame, regnum);
 
-  if (optim)
+  if (value_optimized_out (val))
     {
       Tcl_ListObjAppendElement (NULL, result_ptr->obj_ptr,
 				Tcl_NewStringObj ("Optimized out", -1));
@@ -318,13 +322,14 @@ get_register (int regnum, map_arg arg)
       /* shouldn't happen. raw format is deprecated */
       int j;
       char *ptr, buf[1024];
+      const gdb_byte *valaddr = value_contents_for_printing (val);
 
       strcpy (buf, "0x");
       ptr = buf + 2;
-      for (j = 0; j < register_size (get_current_arch (), regnum); j++)
+      for (j = 0; j < register_size (gdbarch, regnum); j++)
 	{
-	  int idx = ((gdbarch_byte_order (get_current_arch ()) == BFD_ENDIAN_BIG)
-		     ? j : register_size (get_current_arch (), regnum) - 1 - j);
+	  int idx = ((gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
+		     ? j : register_size (gdbarch, regnum) - 1 - j);
 	  sprintf (ptr, "%02x", (unsigned char) buffer[idx]);
 	  ptr += 2;
 	}
@@ -337,17 +342,9 @@ get_register (int regnum, map_arg arg)
       get_formatted_print_options (&opts, format);
       opts.deref_ref = 1;
       opts.pretty = Val_pretty_default;
-
-      if ((TYPE_CODE (reg_vtype) == TYPE_CODE_UNION)
-	  && (strcmp (FIELD_NAME (TYPE_FIELD (reg_vtype, 0)), 
-		      gdbarch_register_name (get_current_arch (), regnum)) == 0))
-	{
-	  val_print (FIELD_TYPE (TYPE_FIELD (reg_vtype, 0)), buffer, 0, 0,
-		     stb, 0, NULL, &opts, current_language);
-	}
-      else
-	val_print (reg_vtype, buffer, 0, 0,
-		   stb, 0, NULL, &opts, current_language);
+      val_print (reg_vtype, value_contents_for_printing (val),
+		 value_embedded_offset (val), 0,
+		 stb, 0, val, &opts, current_language);
     }
   
   res = ui_file_xstrdup (stb, &dummy);
Index: gdbtk-stack.c
===================================================================
RCS file: /cvs/src/src/gdb/gdbtk/generic/gdbtk-stack.c,v
retrieving revision 1.34
diff -u -p -r1.34 gdbtk-stack.c
--- gdbtk-stack.c	7 Jul 2009 12:38:56 -0000	1.34
+++ gdbtk-stack.c	8 Apr 2011 23:25:01 -0000
@@ -1,5 +1,6 @@
 /* Tcl/Tk command definitions for Insight - Stack.
-   Copyright (C) 2001, 2002, 2003, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2002, 2003, 2008, 2011
+   Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -277,7 +278,7 @@ gdb_get_vars_command (ClientData clientD
   struct symtabs_and_lines sals;
   struct symbol *sym;
   struct block *block;
-  char **canonical, *args;
+  char *args;
   struct dict_iterator iter;
   int i, arguments;
 
@@ -297,7 +298,7 @@ gdb_get_vars_command (ClientData clientD
   if (objc == 2)
     {
       args = Tcl_GetStringFromObj (objv[1], NULL);
-      sals = decode_line_1 (&args, 1, NULL, 0, &canonical, NULL);
+      sals = decode_line_1 (&args, 1, NULL, 0, NULL, NULL);
       if (sals.nelts == 0)
 	{
 	  gdbtk_set_result (interp, "error decoding line");

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2011-04-12 15:27 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-04-08 23:35 [PATCH] Rotate ChangeLog, fix build issues Keith Seitz
2011-04-09  4:14 ` Hui Zhu
2011-04-09  4:26   ` Keith Seitz
2011-04-12  0:24     ` Kevin Buettner
2011-04-12  5:13       ` Keith Seitz
2011-04-12 15:27         ` Hui Zhu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).