On Thu, Sep 30, 2010 at 02:34:11PM +0200, Andreas Schwab wrote:

> > Um...  What's wrong with doing that from trap_c()?
> 
> IIRC that was the only way to make gdb work correctly wrt. single
> stepping over system calls and into signal handlers.  If anyone wants to
> test it with today's kernel on real hardware, please go ahead.

Ouch...  Resurrecting that 840av box will be interesting - most likely
a dead battery, but... ;-/  And yes, I certainly understand why qemu
testing is not sufficient for that kind of stuff - subtle enough to
make the odds of stepping on qemu bugs...

Oh, well.  Anyway, the obvious ones I've got are:
        * setup_frame/setup_rt_frame should report failure, so that
handle_signal() wouldn't block signals in that case (losing the original
mask, since it's not stored anywhere in that case)
        * notify_resume isn't handled at all
        * sigsuspend would be better off with ERESTARTNOHAND scheme.

FWIW, I wonder if it would be better to have handle_signal() call
send_sig() and clear regs.SR.T1 and forget about checking return
value of do_signal(); do_delayed_trace is still needed, since currently
there are two places that can reach it, but it'd make the code around
calling do_signal() simpler while preserving the current behaviour...
--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to