This is the mail archive of the insight@sources.redhat.com mailing list for the Insight project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[commit] selected_frame -> deprecated_selected_frame


FYI,

Keep insight building. There is now get_selected_frame() but that throws an error when there isn't a frame.

(NB, there is also a bug lurking here. When the inferior has stack/registers, GDB should always create a frame. It some times doesn't - instead it throws an error. The fix is to catch the error and create a fake frame.

While at it, I took the oportunity to clean up a few get_frame_pc()s and find_frame_sal()s.

committed,
Andrew
2002-11-30  Andrew Cagney  <ac131313@redhat.com>

	* generic/gdbtk-stack.c: Replace selected_frame with
	deprecated_selected_frame.
	* generic/gdbtk-register.c: Ditto.
	* generic/gdbtk-cmds.c (gdb_loc): Replace selected_frame with
	deprecated_selected_frame.  Use get_frame_pc and find_frame_sal.

Index: generic/gdbtk-cmds.c
===================================================================
RCS file: /cvs/src/src/gdb/gdbtk/generic/gdbtk-cmds.c,v
retrieving revision 1.62
diff -u -r1.62 gdbtk-cmds.c
--- generic/gdbtk-cmds.c	27 Nov 2002 19:09:17 -0000	1.62
+++ generic/gdbtk-cmds.c	30 Nov 2002 17:43:09 -0000
@@ -2260,7 +2260,8 @@
 
   if (objc == 1)
     {
-      if (selected_frame && (selected_frame->pc != read_pc ()))
+      if (deprecated_selected_frame
+	  && (get_frame_pc (deprecated_selected_frame) != read_pc ()))
         {
           /* Note - this next line is not correct on all architectures.
 	     For a graphical debugger we really want to highlight the 
@@ -2268,11 +2269,8 @@
 	     Many architectures have the next instruction saved as the
 	     pc on the stack, so what happens is the next instruction 
 	     is highlighted. FIXME */
-	  pc = selected_frame->pc;
-	  sal = find_pc_line (selected_frame->pc,
-			      selected_frame->next != NULL
-			      && !(get_frame_type (selected_frame->next) == SIGTRAMP_FRAME)
-			      && !(get_frame_type (selected_frame->next) == DUMMY_FRAME));
+	  pc = get_frame_pc (deprecated_selected_frame);
+	  find_frame_sal (deprecated_selected_frame, &sal);
 	}
       else
         {
Index: generic/gdbtk-register.c
===================================================================
RCS file: /cvs/src/src/gdb/gdbtk/generic/gdbtk-register.c,v
retrieving revision 1.11
diff -u -r1.11 gdbtk-register.c
--- generic/gdbtk-register.c	3 Aug 2002 16:22:07 -0000	1.11
+++ generic/gdbtk-register.c	30 Nov 2002 17:43:10 -0000
@@ -276,7 +276,7 @@
       return;
     }
 
-  get_saved_register (raw_buffer, &optim, (CORE_ADDR *) NULL, selected_frame,
+  get_saved_register (raw_buffer, &optim, (CORE_ADDR *) NULL, deprecated_selected_frame,
 		      regnum, (enum lval_type *) NULL);
   if (optim)
     {
@@ -426,7 +426,7 @@
 {
   char *raw_buffer = alloca (MAX_REGISTER_RAW_SIZE);
 
-  if (!frame_register_read (selected_frame, regnum, raw_buffer))
+  if (!frame_register_read (deprecated_selected_frame, regnum, raw_buffer))
     return;
 
   if (memcmp (&old_regs[regnum * MAX_REGISTER_RAW_SIZE], raw_buffer,
Index: generic/gdbtk-stack.c
===================================================================
RCS file: /cvs/src/src/gdb/gdbtk/generic/gdbtk-stack.c,v
retrieving revision 1.13
diff -u -r1.13 gdbtk-stack.c
--- generic/gdbtk-stack.c	27 Nov 2002 15:29:54 -0000	1.13
+++ generic/gdbtk-stack.c	30 Nov 2002 17:43:10 -0000
@@ -95,13 +95,13 @@
     }
 
   Tcl_SetListObj (result_ptr->obj_ptr, 0, NULL);
-  if (selected_frame == NULL)
+  if (deprecated_selected_frame == NULL)
     return TCL_OK;
 
   start = string_to_core_addr (Tcl_GetStringFromObj (objv[1], NULL));
   end   = string_to_core_addr (Tcl_GetStringFromObj (objv[2], NULL));
   
-  block = get_frame_block (selected_frame, 0);
+  block = get_frame_block (deprecated_selected_frame, 0);
 
   while (block != 0)
     {
@@ -163,10 +163,10 @@
 
   Tcl_SetListObj (result_ptr->obj_ptr, 0, NULL);
   
-  if (selected_frame != NULL)
+  if (deprecated_selected_frame != NULL)
     {
-      block = get_frame_block (selected_frame, 0);
-      pc = get_frame_pc (selected_frame);
+      block = get_frame_block (deprecated_selected_frame, 0);
+      pc = get_frame_pc (deprecated_selected_frame);
       while (block != 0)
 	{
 	  junk = 0;
@@ -309,10 +309,10 @@
   else
     {
       /* Specified currently selected frame */
-      if (selected_frame == NULL)
+      if (deprecated_selected_frame == NULL)
 	return TCL_OK;
 
-      block = get_frame_block (selected_frame, 0);
+      block = get_frame_block (deprecated_selected_frame, 0);
     }
 
   while (block != 0)
@@ -377,7 +377,7 @@
   char *start = NULL;
   char *end   = NULL;
 
-  if (selected_frame == NULL)
+  if (deprecated_selected_frame == NULL)
     {
       xasprintf (&start, "%s", "");
       xasprintf (&end, "%s", "");
@@ -385,7 +385,7 @@
   else
     {
       struct block *block;
-      block = get_frame_block (selected_frame, 0);
+      block = get_frame_block (deprecated_selected_frame, 0);
       xasprintf (&start, "0x%s", paddr_nz (BLOCK_START (block)));
       xasprintf (&end, "0x%s", paddr_nz (BLOCK_END (block)));
     }
@@ -417,12 +417,13 @@
 {
   char *frame;
 
-  if (selected_frame == NULL)
+  if (deprecated_selected_frame == NULL)
     xasprintf (&frame, "%s","");
   else
     /* FIXME: cagney/2002-11-19: This should be using get_frame_id()
        to identify the frame and *NOT* get_frame_base().  */
-    xasprintf (&frame, "0x%s", paddr_nz (get_frame_base (selected_frame)));
+    xasprintf (&frame, "0x%s",
+	       paddr_nz (get_frame_base (deprecated_selected_frame)));
 
   Tcl_SetStringObj (result_ptr->obj_ptr, frame, -1);
 

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]