This is the mail archive of the libffi-discuss@sourceware.org mailing list for the libffi project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: "closures" not working on OS X 10.8 (Mountain Lion)?


The FFI_MMAP_EXEC_WRIT issue should be resolved for Mountain Lion now,
although  I don't have access to any Apple systems to test with.

Thanks!

Anthony Green

On Sun, Sep 16, 2012 at 5:09 PM, Nathan Rajlich <nathan@tootallnate.net> wrote:
> So it looks like there's a problem with the ./configure script on
> Mountain Lion now, such that it doesn't properly define
> FFI_MMAP_EXEC_WRIT.
>
> It seems that 236c9391321f83ad40daf03f40c35c9ebc1da6b3 is inadequate,
> and once I applied the Mozilla patch that Bobby linked to above then
> things worked as expected:
> https://github.com/rbranson/node-ffi/commit/c1c5ad02a0e03d1727824d9d6f99a9ff6f976be1
>
> Just thought I'd let you know of my findings, cheers!
>
> On Wed, Sep 12, 2012 at 5:50 PM, Nathan Rajlich <nathan@tootallnate.net> wrote:
>> So does anybody else have any suggestions for diagnosing this? Things
>> work fine on Leopard, Snow Leopard, and Lion, just not Mountain Lion.
>> I'm stumped as for a way to make any progress here.
>>
>> On Tue, Aug 14, 2012 at 10:23 PM, Nathan Rajlich <nathan@tootallnate.net> wrote:
>>> Bobby, I believe that that patch has indeed been merged upstream in
>>> https://github.com/atgreen/libffi/commit/236c9391321f83ad40daf03f40c35c9ebc1da6b3.
>>> So I guess it's not that.
>>>
>>> Reini, that sounded like a good idea to me but it doesn't seem to
>>> change anything for me. This is what I did:
>>>
>>>   $ cd libffi   # still the v3.0.11 tag
>>>   $ CFLAGS="-Xlinker -no_pie" CXXFLAGS="-Xlinker -no_pie"
>>> LDFLAGS="-no_pie" ./configure --enable-static --disable-shared
>>> --disable-builddir --with-pic
>>>   $ CFLAGS="-Xlinker -no_pie" CXXFLAGS="-Xlinker -no_pie" LDFLAGS="-no_pie" make
>>>   $ gcc -o closure-test closure.c .libs/libffi.a -Iinclude -Xlinker -no_pie
>>>   $ ./closure-test
>>>   Bus error: 10
>>>
>>> Andrew, well shucks :)
>>>
>>> Anybody else have any ideas?
>>>
>>> On Tue, Aug 14, 2012 at 8:18 AM, Reini Urban <rurban@x-ray.at> wrote:
>>>> On Tue, Aug 14, 2012 at 9:40 AM, Andrew Haley <aph@redhat.com> wrote:
>>>>> On 08/13/2012 07:28 PM, Nathan Rajlich wrote:
>>>>>> It seems to me that closures are no longer working on OS X v10.8
>>>>>> (a.k.a. Mountain Lion). I first noticed this when the node-ffi test
>>>>>> suite started failing with a "Bus Error", so just now I ran a simple
>>>>>> closure example from the internet and encounter the same error when I
>>>>>> try to run that. Note that this is using the libffi v3.0.11 tag. My
>>>>>> test case and shell session are outlined in this gist here:
>>>>>> https://gist.github.com/3342783.
>>>>>>
>>>>>> I don't personally know what's going on here, but am hoping somebody
>>>>>> on this list will. I can provide any more additional information
>>>>>> necessary. Cheers and thanks in advance!
>>>>>
>>>>> This is probably because of heap execute protection.  Unfortunately I
>>>>> don't know how it works on OS X: you need an Apple export.
>>>>
>>>> --no_pie is needed.
>>>>
>>>> See also http://code.google.com/p/address-sanitizer/issues/detail?id=29
>>>> how to disable ASLR with various MacOSX versions:
>>>> e.g. export DYLD_NO_PIE=1 on 10.6
>>>> link with --no_pie since 10.7
>>>> --
>>>> Reini Urban
>>>> http://cpanel.net/   http://www.perl-compiler.org/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]