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"