On Mon, Mar 30, 2020 at 08:18:08AM +0200, Paul Floyd wrote:
> When I run procstat on a small 32bit app that just calls sleep (on FreeBSD 
> 12.1 amd64) then I see at the end of the map
> 
> 22353         0xfbffe000         0xfffde000 ---    0    0   0   0 ----- -- 
> 22353         0xfffde000         0xffffe000 rw-    3    3   1   0 ---D- df 
> 22353         0xffffe000         0xfffff000 r-x    1    1  94   0 ----- ph
> 
> I think the last block is for signal handlers and the last but one block is 
> the user stack.
> But what is between 0xfbffe000 and 0xfffde000? It's a bit less than 64Mbytes. 
> This has no protection flags, no resident pages or references and no type. My 
> guess is that this is some sort of guard page for the user stack.
> 
It is the stack grow area and the guard, combined.  Read the mmap(2), in
particular explanation of MAP_STACK and MAP_GUARD.

> Can anyone confirm this? Also, does anyone know if this has been present in 
> FreeBSD for a long time? My copy of “The Design and Implementation of 
> FreeBSD" 2e doesn't show anything between stack and shared libraries.
> 
> A+
> Paul
> 
> 
> _______________________________________________
> freebsd-toolchain@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
> To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"
_______________________________________________
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"

Reply via email to