This is the mail archive of the archer@sourceware.org mailing list for the Archer project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]