This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [Patch]: Little Cleanup
- From: Markus Deuling <deuling at de dot ibm dot com>
- To: gdb-patches at sourceware dot org
- Cc: eliz at gnu dot org, Joel Brobecker <brobecker at adacore dot com>, jimb at codesourcery dot com, mark dot kettenis at xs4all dot nl, deuling at de dot ibm dot com, pedro_alves at portugalmail dot pt, Ulrich Weigand <uweigand at de dot ibm dot com>
- Date: Wed, 07 Mar 2007 08:34:57 +0100
- Subject: Re: [Patch]: Little Cleanup
- References: <200703062210.l26MAEmv032467@d12av02.megacenter.de.ibm.com>
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;