[answering to self...]

> Why does this "hack" not work?  It was precisely devised for this purpose.

Probably because you don't set fs->signal_frame in the fallback routine:

  /* SIGILL, SIGFPE and SIGTRAP are delivered with psw_addr
     after the faulting instruction rather than before it.
     Don't set FS->signal_frame in that case.  */
  if (!signo || (*signo != 4 && *signo != 5 && *signo != 8))
    fs->signal_frame = 1;

You might need to un-overload fs->signal_frame then.

-- 
Eric Botcazou

Reply via email to