[gdbserver] Use enum target_signal in _send_signal.
Pedro Alves
pedro_alves@portugalmail.pt
Sun Feb 25 03:20:00 GMT 2007
Daniel Jacobowitz escreveu:
> On Sat, Feb 24, 2007 at 11:23:56PM +0000, Pedro Alves wrote:
>> Hi all,
>>
>> This patch converts the send_signal function in target_ops to use enum
>> target_signal
>> instead of the real target number. I originally needed this for the
>> WinCE gdbserver port.
>> Windows CE doesn't have signals support, and doesn't define SIGINT in
>> any header.
>> Because of that, remote-utils.c wouldn't compile. I still want to have
>> support of stopping
>> a debuggee - this patch paves the way to that, with minimal interface
>> changes. I will handle
>> TARGET_SIGNAL_INT in the send_signal handler on the target side.
>>
>> Ok?
>
> Maybe this is the wrong abstraction entirely? Because most signals
> are passed to the continue / resume support, maybe the target method
> here doesn't need a signal number at all. We could replace it with
> just send_interrupt.
>
> What do you think?
>
I agree. I looked at shoehorning this into target_ops->(*resume)() with
TARGET_SIGNAL_INT, but that would be wrong, as resume expects an
already stopped process, and send_signal was used to do the actual
stopping.
How does this look?
Cheers,
Pedro Alves
---
gdb/gdbserver/ChangeLog:
* target.h (target_ops): Rename send_signal to request_interrupt, and
remove enum target_signal parameter.
* linux-low.c (linux_request_interrupt): Rename from linux_send_signal,
and always send SIGINT.
* spu-low.c (spu_request_interrupt): Rename from spu_send_signal, and
always send SIGINT.
* remote-utils.c (putpkt_binary): Call request_interrupt, instead of
send_signal.
(input_interrupt): Likewise.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: target_signal.diff
URL: <http://sourceware.org/pipermail/gdb-patches/attachments/20070225/6df83bb9/attachment.ksh>
More information about the Gdb-patches
mailing list