This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB 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]

Re: (gdb-6.8) Discard breakpoint address if shared library is unloaded


 > Can you please resend a new complete patch, with a ChangeLog, and I will
 > review it. It's much easier that way for me to make sure that what I
 > think you are proposing is indeed what you are proposing to commit.

-- 
Nick                                           http://www.inet.net.nz/~nickrob


2008-02-15  Nick Roberts  <nickrob@snap.net.nz>

	* breakpoint.c (print_one_breakpoint_location): Revert Enb field
	to old format.  Discard breakpoint address if shared library is
	unloaded.
	(breakpoint_1): Adjust formatting of table header accordingly.



*** breakpoint.c	15 Feb 2008 16:52:37 +1300	1.302
--- breakpoint.c	15 Feb 2008 16:55:43 +1300	
*************** print_one_breakpoint_location (struct br
*** 3426,3448 ****
    /* 4 */
    annotate_field (3);
    if (part_of_multiple)
!     ui_out_field_string (uiout, "enabled", 
! 			 loc->shlib_disabled 
! 			 ? (loc->enabled ? "y(p)" : "n(p)")
! 			 : (loc->enabled ? "y" : "n"));
    else
!     {
!       int pending = (b->loc == NULL || b->loc->shlib_disabled);
!       /* For header of multiple, there's no point showing pending
! 	 state -- it will be apparent from the locations.  */
!       if (header_of_multiple)
! 	pending = 0;
!       ui_out_field_fmt (uiout, "enabled", "%c%s", 
! 			bpenables[(int) b->enable_state],
! 			pending ? "(p)" : "");
!       if (!pending)
! 	ui_out_spaces (uiout, 3);
!     }
  
    
    /* 5 and 6 */
--- 3426,3436 ----
    /* 4 */
    annotate_field (3);
    if (part_of_multiple)
!     ui_out_field_string (uiout, "enabled", loc->enabled ? "y" : "n");
    else
!       ui_out_field_fmt (uiout, "enabled", "%c", 
!  			bpenables[(int) b->enable_state]);
!   ui_out_spaces (uiout, 2);
  
    
    /* 5 and 6 */
*************** print_one_breakpoint_location (struct br
*** 3553,3562 ****
  	if (addressprint)
  	  {
  	    annotate_field (4);
! 	    if (b->loc == NULL)
! 	      ui_out_field_string (uiout, "addr", "<PENDING>");
! 	    else if (header_of_multiple)
  	      ui_out_field_string (uiout, "addr", "<MULTIPLE>");
  	    else
  	      ui_out_field_core_addr (uiout, "addr", loc->address);
  	  }
--- 3541,3550 ----
  	if (addressprint)
  	  {
  	    annotate_field (4);
! 	    if (header_of_multiple)
  	      ui_out_field_string (uiout, "addr", "<MULTIPLE>");
+ 	    if (b->loc == NULL || loc->shlib_disabled)
+ 	      ui_out_field_string (uiout, "addr", "<PENDING>");
  	    else
  	      ui_out_field_core_addr (uiout, "addr", loc->address);
  	  }
*************** breakpoint_1 (int bnum, int allflag)
*** 3781,3787 ****
    ui_out_table_header (uiout, 4, ui_left, "disp", "Disp");		/* 3 */
    if (nr_printable_breakpoints > 0)
      annotate_field (3);
!   ui_out_table_header (uiout, 4, ui_left, "enabled", "Enb");	/* 4 */
    if (addressprint)
  	{
  	  if (nr_printable_breakpoints > 0)
--- 3769,3775 ----
    ui_out_table_header (uiout, 4, ui_left, "disp", "Disp");		/* 3 */
    if (nr_printable_breakpoints > 0)
      annotate_field (3);
!   ui_out_table_header (uiout, 3, ui_left, "enabled", "Enb");	/* 4 */
    if (addressprint)
  	{
  	  if (nr_printable_breakpoints > 0)


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