rather than allocating memory for _Thread struct and stack together,
this diff[1] changes the allocation by pulling apart the stack of the
thread_t struct, so now only the stack segment has the MAP_STACK flag
for passing stack-register checking.
tested on amd64(MAP_STACK bits in). acme(1)/sam(1)
* Gleydson Soares [2018-03-10 13:45:08 -0300]:
> On Fri, Mar 09, 2018 at 06:42:25PM -0600, Aaron Poffenberger wrote:
> > This patch updates libthread in plan9port to be MAP_STACK compliant,
> > replacing calls to malloc/free with mmap and munmap when allocating
> > thread
> This patch updates libthread in plan9port to be MAP_STACK compliant,
> replacing calls to malloc/free with mmap and munmap when allocating
> thread stacks.
Thanks for this, Aaron! It got those programs from plan9port working
again for me here.
Best,
Rob
On Fri, Mar 09, 2018 at 06:42:25PM -0600, Aaron Poffenberger wrote:
> This patch updates libthread in plan9port to be MAP_STACK compliant,
> replacing calls to malloc/free with mmap and munmap when allocating
> thread stacks.
>
> The most obvious effect was sam(1), acme(1), and 9term(1) would
>