[Vm-dev] Re: Error compiling cog for MacOS 10.6
Eliot Miranda
eliot.miranda at gmail.com
Fri Jul 30 18:57:11 UTC 2010
On Fri, Jul 30, 2010 at 6:29 AM, Mariano Martinez Peck <
marianopeck at gmail.com> wrote:
>
> sorry....quick send...try again:
> Hi Eliot. I am trying to compie CogVM from XCode. If I choose "Mac OS X
> 10.5 (Base SDK)" CogVM compiles without problem.
>
> But if I choose "Mac OS X 10.6" I have a compile error in ucontext.h line
> 42:
>
> #error ucontext routines are deprecated, and require _XOPEN_SOURCE to be
> define
>
> It comes from sqUnixVMProfile.x where you have:
>
> #include <ucontext.h>
>
>
> any ideas how can I fix this?
>
I guess three ways. One is simply to define _XOPEN_SOURCE. But better is
to figure out how to get the program counter pointer value from a signal
handler in 10.6. i.e. what the profiler does is periodically sample the VM
thread's program counter. It does this using a thread that sends SIGPROF to
the VM thread and have the SIGPROF handler (pcbufferSIGPROFhandler) get the
interrupted pc from the ucontext structure passed into the signal handler.
Presumably there's a new way of doing this in 10.6. Find out what that is.
The third way is simply to define NO_VM_PROFILE and then the file will
provide only stubs and you'll have no functional VM profiler.
HTH
Eliot
> Thanks!
>
> Mariano
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20100730/ea21faff/attachment-0002.htm
More information about the Vm-dev
mailing list