lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


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