[Gc] Re: BUS_PAGE_FAULT os_dep.c

Andreas Tobler 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?

Unfortunately no.

Thanks again,
Andreas

>
> 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
>> turnaround!
>>
>> 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
>> function)
>> 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!
>> TIA,
>> Andreas
>
>



More information about the Gc mailing list