This is the mail archive of the
archer@sourceware.org
mailing list for the Archer project.
Re: gdbstub initial code, v7
On 09/10, Roland McGrath wrote:
>
> > But I meant another case, when the stopped tracee doesn't have siginfo.
> > Currently ugdb just sends this signal to tracee, and then it will be
> > reported to gdb. Not sure if this is right or not, I can change this.
> > (or perhap this doesn't matter, I dunno).
>
> What do you mean by "doesn't have siginfo"? You mean non-signal stops?
Yes.
> What non-signal stops does ugdb report?
(gdb) interrupt
ugdb sets "please stop" flag and does utrace_control(INTERRUPT). However,
in unlikely case the tracee can stop before ->report_signal() reporting
loop (especially in multitracing case). Or it can be already stopped
(note: this needs a separate discussion, currently ugdb intentionally
doesn't handle this case).
And. With the current implementation, even if the tracee stops after
ugdb_report_signal() was called, it doesn't setup ->t_siginfo.
IOW. If the tracee actually recieves a signal, then
- qXfer:siginfo:read works
- "signal SIG" works as expected (delivered to tracee)
Otherwise
- qXfer:siginfo:read reports E01
- "signal XX" means TXX report.
Once again, this can be changed (fixed?), but I am not sure this
should be changed.
Oleg.