[FreeBSD] locating wine at 0x20000000
Tijl Coosemans
tijl at ulyssis.org
Wed Aug 9 10:52:03 CDT 2006
On Tuesday 08 August 2006 23:28, Alexandre Julliard wrote:
> Tijl Coosemans <tijl at ulyssis.org> writes:
>
> > Only the super-user can increase the max limit. Other users can only
> > decrease it. And all those unix shared libs (x11, etc.) need heap space
> > as well. I don't know how much they all need. Maybe a 128Mb heap would
> > be sufficient? That would bring us to 0x74000000.
>
> Do you need to set the max limit? Isn't the current limit sufficient?
No, it's the max limit. The FreeBSD kernel code is pretty clear on that:
if (addr == 0 ||
(addr >= round_page((vm_offset_t)vms->vm_taddr) &&
addr < round_page((vm_offset_t)vms->vm_daddr +
lim_max(td->td_proc, RLIMIT_DATA))))
addr = round_page((vm_offset_t)vms->vm_daddr +
lim_max(td->td_proc, RLIMIT_DATA));
So, when the addr argument to mmap is NULL or somewhere in the text
segment or maximum possible data segment it is pushed back to after the
data segment, which of course works quite well for any normal unix
program.
Anyway, the situation is different in FreeBSD 7.0, so I need to think
this over some more and do some more testing.
More information about the wine-devel
mailing list