RFC: Do not call write_pc for "signal SIGINT"

Michael Snyder msnyder@vmware.com
Thu Aug 28 18:13:00 GMT 2008


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



More information about the Gdb-patches mailing list