Date: Mon, 30 Mar 2020 08:18:08 +0200 From: Paul Floyd <pjfloyd@wanadoo.fr> To: "toolchain@freebsd.org" <toolchain@FreeBSD.org> Subject: x86 process memory map Message-ID: <E933CC5C-756E-4C0B-96FE-EA1A70CC3139@wanadoo.fr>
next in thread | raw e-mail | index | archive | help
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 ----- = --=20 22353 0xfffde000 0xffffe000 rw- 3 3 1 0 ---D- = df=20 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 =E2=80=9CThe Design and = Implementation of FreeBSD" 2e doesn't show anything between stack and = shared libraries. A+ Paul
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E933CC5C-756E-4C0B-96FE-EA1A70CC3139>