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.

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"

Reply via email to