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]: Little Cleanup


Ulrich Weigand wrote:
Eli Zaretskii wrote:

Fine with me. Note that the original code had a local variable that
made this clear; this whole discussion was caused by a patch that
removed that variable.

Actually, the original code had a *global* static variable that was used only at this single location -- cleaning this up was really the point of the patch, I guess.

Bye,
Ulrich

The function "handle_inferior_event"'s length is >1450 (!!!) lines of code and I think its
a good idea to clean it up if possible. The patch removes an unnecessary
variable from that function. To increase the readability I added a comment to the patch.


Ok?

--
Markus Deuling
GNU Toolchain for Linux on Cell BE
deuling@de.ibm.com


diff -urN src/gdb/breakpoint.c dev/gdb/breakpoint.c
--- src/gdb/breakpoint.c	2007-02-27 20:46:04.000000000 +0100
+++ dev/gdb/breakpoint.c	2007-03-07 08:23:06.000000000 +0100
@@ -3134,8 +3134,6 @@
   /* step_resume entries: a step resume breakpoint overrides another
      breakpoint of signal handling (see comment in wait_for_inferior
      at where we set the step_resume breakpoint).  */
-  /* We handle the through_sigtramp_breakpoint the same way; having both
-     one of those and a step_resume_breakpoint is probably very rare (?).  */
 
   static const enum bpstat_what_main_action
     table[(int) class_last][(int) BPSTAT_WHAT_LAST] =
diff -urN src/gdb/infrun.c dev/gdb/infrun.c
--- src/gdb/infrun.c	2007-03-01 06:45:40.000000000 +0100
+++ dev/gdb/infrun.c	2007-03-07 08:24:33.000000000 +0100
@@ -288,10 +288,6 @@
 
 struct regcache *stop_registers;
 
-/* Nonzero if program stopped due to error trying to insert breakpoints.  */
-
-static int breakpoints_failed;
-
 /* Nonzero after stop if current stack frame should be printed.  */
 
 static int stop_print_frame;
@@ -1830,7 +1826,6 @@
   stop_print_frame = 1;
   ecs->random_signal = 0;
   stopped_by_random_signal = 0;
-  breakpoints_failed = 0;
 
   if (stop_signal == TARGET_SIGNAL_TRAP
       && trap_expected
@@ -2126,9 +2121,7 @@
         if (debug_infrun)
 	  fprintf_unfiltered (gdb_stdlog, "infrun: BPSTAT_WHAT_SINGLE\n");
 	if (breakpoints_inserted)
-	  {
-	    remove_breakpoints ();
-	  }
+	  remove_breakpoints ();
 	breakpoints_inserted = 0;
 	ecs->another_trap = 1;
 	/* Still need to check other stuff, at least the case
@@ -2909,8 +2902,9 @@
 
       if (!breakpoints_inserted && !ecs->another_trap)
 	{
-	  breakpoints_failed = insert_breakpoints ();
-	  if (breakpoints_failed)
+          /* Stop stepping when inserting breakpoints
+             has failed.  */
+          if (insert_breakpoints () != 0)
 	    {
 	      stop_stepping (ecs);
 	      return;

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