On 11 October 2018 at 00:55, Brad Smith <address@hidden> wrote:
And from FreeBSD...
MAP_STACK MAP_STACK implies MAP_ANON, and offset of 0. The fd
argument must be -1 and prot must include at least
PROT_READ and PROT_WRITE.
This option creates a memory region that grows to at
most len bytes in size, starting from the stack top
and growing down. The stack top is the starting
address returned by the call, plus len bytes. The
bottom of the stack at maximum growth is the starting
address returned by the call.
Stacks created with MAP_STACK automatically grow.
Guards prevent inadvertent use of the regions into
which those stacks can grow without requiring mapping
the whole stack in advance.
Hmm. That "automatically growing" part sounds like
behaviour we definitely do not want for our use case.
So we're going to need to make this OS-specific :-(