On Sat, Dec 29, 2018 at 06:03:42PM +0300, Ivan Zakharyaschev wrote: [...] > BTW, saving and forgetting the type of the original fault doesn't seem > to be something expensive to implement (after some thought): when a > register is marked as invalid, it shouldn't matter anymore what value > it holds. So, the same register can be used to save the information > about the type of the fault. Note that SIGILL, SIGFPE, SIGSEGV, and SIGBUS come with si_addr specifying the memory location which caused the fault. When memory fault is transformed into illegal operand failt, the location of the original memory fault is likely lost, too - you can easily check this hypothesis by installing a signal handler: if si_addr is not 0xbad from your example, then it's been lost. -- ldv