[Gc] Re: BUS_PAGE_FAULT os_dep.c
ivmai at mail.ru
Wed Aug 18 13:11:38 PDT 2010
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.)
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