[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 09/12] linux-user: clean-up padding on /proc/self/maps
From: |
Alex Bennée |
Subject: |
[PATCH v3 09/12] linux-user: clean-up padding on /proc/self/maps |
Date: |
Fri, 3 Apr 2020 20:11:47 +0100 |
Don't use magic spaces, calculate the justification for the file
field like the kernel does with seq_pad.
Signed-off-by: Alex Bennée <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
---
v2
- change for unsigned long update
---
linux-user/syscall.c | 32 +++++++++++++++++++-------------
1 file changed, 19 insertions(+), 13 deletions(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 666be20f3ff..8a610b91402 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -7235,6 +7235,7 @@ static int open_self_maps(void *cpu_env, int fd)
TaskState *ts = cpu->opaque;
GSList *map_info = read_self_maps();
GSList *s;
+ int count;
for (s = map_info; s; s = g_slist_next(s)) {
MapInfo *e = (MapInfo *) s->data;
@@ -7253,20 +7254,24 @@ static int open_self_maps(void *cpu_env, int fd)
}
if (h2g(min) == ts->info->stack_limit) {
- path = " [stack]";
+ path = "[stack]";
} else {
path = e->path;
}
- dprintf(fd, TARGET_ABI_FMT_ptr "-" TARGET_ABI_FMT_ptr
- " %c%c%c%c %08" PRIx64 " %s %d %s%s\n",
- h2g(min), h2g(max - 1) + 1,
- e->is_read ? 'r' : '-',
- e->is_write ? 'w' : '-',
- e->is_exec ? 'x' : '-',
- e->is_priv ? 'p' : '-',
- (uint64_t) e->offset, e->dev, e->inode,
- path ? " " : "", path ? path : "");
+ count = dprintf(fd, TARGET_ABI_FMT_ptr "-" TARGET_ABI_FMT_ptr
+ " %c%c%c%c %08" PRIx64 " %s %d",
+ h2g(min), h2g(max - 1) + 1,
+ e->is_read ? 'r' : '-',
+ e->is_write ? 'w' : '-',
+ e->is_exec ? 'x' : '-',
+ e->is_priv ? 'p' : '-',
+ (uint64_t) e->offset, e->dev, e->inode);
+ if (path) {
+ dprintf(fd, "%*s%s\n", 73 - count, "", path);
+ } else {
+ dprintf(fd, "\n");
+ }
}
}
@@ -7277,9 +7282,10 @@ static int open_self_maps(void *cpu_env, int fd)
* We only support execution from the vsyscall page.
* This is as if CONFIG_LEGACY_VSYSCALL_XONLY=y from v5.3.
*/
- dprintf(fd, TARGET_FMT_lx "-" TARGET_FMT_lx
- " --xp 00000000 00:00 0 [vsyscall]\n",
- TARGET_VSYSCALL_PAGE, TARGET_VSYSCALL_PAGE + TARGET_PAGE_SIZE);
+ count = dprintf(fd, TARGET_FMT_lx "-" TARGET_FMT_lx
+ " --xp 00000000 00:00 0",
+ TARGET_VSYSCALL_PAGE, TARGET_VSYSCALL_PAGE +
TARGET_PAGE_SIZE);
+ dprintf(fd, "%*s%s\n", 73 - count, "", "[vsyscall]");
#endif
return 0;
--
2.20.1
- [PATCH v3 06/12] gdbstub: fix compiler complaining, (continued)
- [PATCH v3 06/12] gdbstub: fix compiler complaining, Alex Bennée, 2020/04/03
- [PATCH v3 07/12] softfloat: Fix BAD_SHIFT from normalizeFloatx80Subnormal, Alex Bennée, 2020/04/03
- [PATCH v3 08/12] linux-user: factor out reading of /proc/self/maps, Alex Bennée, 2020/04/03
- [PATCH v3 04/12] linux-user: more debug for init_guest_space, Alex Bennée, 2020/04/03
- [PATCH v3 05/12] target/xtensa: add FIXME for translation memory leak, Alex Bennée, 2020/04/03
- [PATCH v3 10/12] target/arm: don't expose "ieee_half" via gdbstub, Alex Bennée, 2020/04/03
- [PATCH v3 09/12] linux-user: clean-up padding on /proc/self/maps,
Alex Bennée <=
- [PATCH v3 12/12] configure: Add -Werror to PIE probe, Alex Bennée, 2020/04/03
- [PATCH v3 11/12] hw/core: properly terminate loading .hex on EOF record, Alex Bennée, 2020/04/03