[Gc] Re: BUS_PAGE_FAULT os_dep.c
andreast-list at fgznet.ch
Wed Aug 18 13:54:02 PDT 2010
On 18.08.10 22:11, Ivan Maidanski wrote:
> Is MPROTECT_VDB defined in the CVS case? (If yes then compile with -E option and examine the beginning of GC_write_fault_handler in both cases.)
Ha! That was it. (emacs C-c C-n helped me too!)
In this package they configured with no threads. Changing to posix makes
it work. Thanks a lot!
> PS. Do you know the equivalent of BUS_PAGE_FAULT on non-x86?
> Wed, 18 Aug 2010 21:59:54 +0200 Andreas Tobler<andreast-list at fgznet.ch>:
>> Hi Ivan,
>> First, thanks for committing the ppc64 part, I appreciate this fast
>> I have a little understanding problem.
>> In os_dep.c:3012 (current CVS) we have the following snippet:
>> #if !defined(DARWIN)
>> # include<errno.h>
>> # if defined(FREEBSD)
>> # define SIG_OK TRUE
>> # define CODE_OK (si -> si_code == BUS_PAGE_FAULT)
>> Now, I can build the cvs-gc on powerpc32/64 FreeBSD w/o problems.
>> For a ports package we have an older gc, 7.1 I think, and there I fail
>> to build gc:
>> os_dep.c: In function 'GC_write_fault_handler':
>> os_dep.c:2779: error: 'BUS_PAGE_FAULT' undeclared (first use in this
>> os_dep.c:2779: error: (Each undeclared identifier is reported only once
>> That is ok since this BUS_PAGE_FAULT is x86 only I guess.
>> What I do not understand is the fact that on cvs-head it builds and on
>> 7.1 it doesn't. Is the above snippet included into a x86 specific ifdef
>> on cvs-head?
>> I could not find an other ifdef surrounding the above.
>> Would be great if you could enlighten me!
More information about the Gc