Subject: Re: add a register to i386 sigcontext
To: None <tech-kern@netbsd.org>
From: Valtteri Vuorikoski <vuori@puuhamaa.magenta.net>
List: tech-kern
Date: 03/28/2003 23:15:46
Yorick Hardy <yh@metroweb.co.za> writes:

> It seems wine uses page fault information somehow for its emulation
> when it receives SIGSEGV. It does manage segmentation faults in the
> windows programs and informs the user, so I think it is used for
> this at least. I used the incorrect patch and it made a big difference
> in what wine could run successfully.

This is the same issue porters of Lisp compilers (including me (-:)
have been carping about for quite a while (memory management systems
like to know where they're hitting protected pages).

The current solution is a hack that (on i386) passes the fault address
in the handler's code address. Other BSDs (with SA_SIGINFO signals)
pass the address in the siginfo structure. I assume the latter system
will be forthcoming with the advent of SA_SIGINFO on NetBSD?

 -v