This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: RFC: Do not call write_pc for "signal SIGINT"
- From: Michael Snyder <msnyder at vmware dot com>
- To: gdb-patches at sourceware dot org
- Date: Thu, 28 Aug 2008 11:09:56 -0700
- Subject: Re: RFC: Do not call write_pc for "signal SIGINT"
- References: <20080828155520.GA23110@caradoc.them.org>
Daniel Jacobowitz wrote:
This FIXME has been there since the dawn of CVS. Removing it causes
no testsuite regressions on x86_64-linux; I don't think it will on
other platforms either.
Any comments on this patch? Otherwise I'll check it in after a little
while.
Hmmm, kind of opaque. Your new code seems like the right
thing to do, but I don't understand the code that you're replacing.
Isn't -1 supposed to mean the same as stop_pc?
And isn't signal 0 equivalent to no signal?
This isn't the only place where Linux's internal errno codes can leak
back into user programs because of how we fiddle orig_eax. I'll file
another bug report about that.
Now you've really lost me. What have errno codes
got to do with this?
2008-08-28 Daniel Jacobowitz <dan@codesourcery.com>
PR gdb/2241
* infcmd.c (signal_command): Do not specify a resume PC.
Index: infcmd.c
===================================================================
RCS file: /cvs/src/src/gdb/infcmd.c,v
retrieving revision 1.200
diff -u -p -r1.200 infcmd.c
--- infcmd.c 21 Aug 2008 20:13:08 -0000 1.200
+++ infcmd.c 28 Aug 2008 15:51:15 -0000
@@ -1123,11 +1123,7 @@ signal_command (char *signum_exp, int fr
}
clear_proceed_status ();
- /* "signal 0" should not get stuck if we are stopped at a breakpoint.
- FIXME: Neither should "signal foo" but when I tried passing
- (CORE_ADDR)-1 unconditionally I got a testsuite failure which I haven't
- tried to track down yet. */
- proceed (oursig == TARGET_SIGNAL_0 ? (CORE_ADDR) -1 : stop_pc, oursig, 0);
+ proceed ((CORE_ADDR) -1, oursig, 0);
}
/* Proceed until we reach a different source line with pc greater than