[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: LuaJIT-2 on FreeBSD x86-64
- From: Mike Pall <mikelu-1010@...>
- Date: Sat, 23 Oct 2010 16:41:32 +0200
Tony Finch wrote:
> One way to work around this problem is to set RLIMIT_DATA to a lower value
> so that the data segment occupies a small segment towards the bottom of
> memory.
Ah, good to know. I (wrongly) assumed this was not user-settable.
> I have attached a patch that does this. It's basically a clone-and-hack of
> the MacOS X allocation code, with the mmap region start address adjusted
> to give up to about 250MB of malloc() heap.
Thanks! I've simplified that patch a bit and added it to git HEAD.
So far it seems to work fine.
Alas, there are some other issues on FreeBSD/x64: external
exception unwinding is buggy in the standard FreeBSD 8.0 libgcc.
E.g. luajit -e 'xpcall(error,error)' crashes hard.
This has been fixed in GCC more than three years ago:
http://gcc.gnu.org/viewcvs/trunk/gcc/unwind-dw2.c?r1=121165&r2=124837&pathrev=153877&diff_format=h
So, I'm not sure I should call FreeBSD/x64 a supported target.
At least not with the default GCC 4.2.1.
--Mike