[PATCH 08/13] linux-user: Emulate the Anonymous: keyword in /proc/self/smaps

Richard Henderson posted 13 patches 1 year, 3 months ago
Maintainers: Laurent Vivier <laurent@vivier.eu>, Brian Cain <bcain@quicinc.com>
There is a newer version of this series
[PATCH 08/13] linux-user: Emulate the Anonymous: keyword in /proc/self/smaps
Posted by Richard Henderson 1 year, 3 months ago
From: Ilya Leoshkevich <iii@linux.ibm.com>

Core dumps produced by gdb's gcore when connected to qemu's gdbstub
lack stack. The reason is that gdb includes only anonymous memory in
core dumps, which is distinguished by a non-0 Anonymous: value.

Consider the mappings with PAGE_ANON fully anonymous, and the mappings
without it fully non-anonymous.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
[rth: Update for open_self_maps_* rewrite]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
 linux-user/syscall.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 0641d8f433..8d96acd085 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -8167,7 +8167,7 @@ static void open_self_maps_4(const struct open_self_maps_data *d,
                 "Private_Clean:         0 kB\n"
                 "Private_Dirty:         0 kB\n"
                 "Referenced:            0 kB\n"
-                "Anonymous:             0 kB\n"
+                "Anonymous:             %lu kB\n"
                 "LazyFree:              0 kB\n"
                 "AnonHugePages:         0 kB\n"
                 "ShmemPmdMapped:        0 kB\n"
@@ -8180,6 +8180,7 @@ static void open_self_maps_4(const struct open_self_maps_data *d,
                 "THPeligible:    0\n"
                 "VmFlags:%s%s%s%s%s%s%s%s\n",
                 size_kb, page_size_kb, page_size_kb,
+                (flags & PAGE_ANON ? size_kb : 0),
                 (flags & PAGE_READ) ? " rd" : "",
                 (flags & PAGE_WRITE_ORG) ? " wr" : "",
                 (flags & PAGE_EXEC) ? " ex" : "",
-- 
2.34.1
Re: [PATCH 08/13] linux-user: Emulate the Anonymous: keyword in /proc/self/smaps
Posted by Philippe Mathieu-Daudé 1 year, 2 months ago
On 24/8/23 03:02, Richard Henderson wrote:
> From: Ilya Leoshkevich <iii@linux.ibm.com>
> 
> Core dumps produced by gdb's gcore when connected to qemu's gdbstub
> lack stack. The reason is that gdb includes only anonymous memory in
> core dumps, which is distinguished by a non-0 Anonymous: value.
> 
> Consider the mappings with PAGE_ANON fully anonymous, and the mappings
> without it fully non-anonymous.
> 
> Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
> [rth: Update for open_self_maps_* rewrite]
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
>   linux-user/syscall.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>