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: [PATCH] Don't give spurious warnings when using thread specific breakpoints


Daniel Jacobowitz wrote:
This does make a little sense to me.  Anyone think there's value in keeping
the note for breakpoints in different threads?

Ok, there seems to be a consensus that the added notes are useful, but nobody likes the idea of suppressing the message entirely when the breakpoints do not conflict.


How about the attached patch which includes the one without the other? I've also taken the opportunity to add _() macros to a few strings.

Andrew
2006-10-18  Andrew Stubbs  <andrew.stubbs@st.com>

	* breakpoint.c (describe_other_breakpoints): Add thread parameter.
	Annotate display with thread number where appropriate.
	Add gettext _() macro where it was missing.
	(create_breakpoints): Add thread parameter to call to
	describe_other_breakpoints.

Index: src/gdb/breakpoint.c
===================================================================
--- src.orig/gdb/breakpoint.c	2006-10-18 12:30:23.000000000 +0100
+++ src/gdb/breakpoint.c	2006-10-18 12:58:17.000000000 +0100
@@ -102,7 +102,7 @@ static void breakpoint_adjustment_warnin
 static CORE_ADDR adjust_breakpoint_address (CORE_ADDR bpaddr,
                                             enum bptype bptype);
 
-static void describe_other_breakpoints (CORE_ADDR, asection *);
+static void describe_other_breakpoints (CORE_ADDR, asection *, int);
 
 static void breakpoints_info (char *, int);
 
@@ -3782,7 +3782,7 @@ maintenance_info_breakpoints (char *bnum
 /* Print a message describing any breakpoints set at PC.  */
 
 static void
-describe_other_breakpoints (CORE_ADDR pc, asection *section)
+describe_other_breakpoints (CORE_ADDR pc, asection *section, int thread)
 {
   int others = 0;
   struct breakpoint *b;
@@ -3802,17 +3802,21 @@ describe_other_breakpoints (CORE_ADDR pc
 	  if (!b->pending && (!overlay_debugging || b->loc->section == section))
 	    {
 	      others--;
-	      printf_filtered ("%d%s%s ",
-			       b->number,
+	      printf_filtered ("%d", b->number);
+	      if (b->thread == -1 && thread != -1)
+		printf_filtered (_(" (all threads)"));
+	      else if (b->thread != -1)
+		printf_filtered (_(" (thread %d)"), b->thread);
+	      printf_filtered ("%s%s ",
 			       ((b->enable_state == bp_disabled || 
 				 b->enable_state == bp_shlib_disabled || 
 				 b->enable_state == bp_call_disabled) 
-				? " (disabled)" 
+				? _(" (disabled)")
 				: b->enable_state == bp_permanent 
-				? " (permanent)"
+				? _(" (permanent)")
 				: ""),
 			       (others > 1) ? "," 
-			       : ((others == 1) ? " and" : ""));
+			       : ((others == 1) ? _(" and") : ""));
 	    }
       printf_filtered (_("also set at pc "));
       deprecated_print_address_numeric (pc, 1, gdb_stdout);
@@ -4960,7 +4964,7 @@ create_breakpoints (struct symtabs_and_l
 	struct symtab_and_line sal = sals.sals[i];
 
 	if (from_tty)
-	  describe_other_breakpoints (sal.pc, sal.section);
+	  describe_other_breakpoints (sal.pc, sal.section, thread);
 	
 	b = set_raw_breakpoint (sal, type);
 	set_breakpoint_count (breakpoint_count + 1);

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