linux-user: clean-up padding on /proc/self/maps
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 <alex.bennee@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20200403191150.863-10-alex.bennee@linaro.org>
This commit is contained in:
parent
01ef6b9e4e
commit
bb55173cfb
@ -7235,6 +7235,7 @@ static int open_self_maps(void *cpu_env, int fd)
|
|||||||
TaskState *ts = cpu->opaque;
|
TaskState *ts = cpu->opaque;
|
||||||
GSList *map_info = read_self_maps();
|
GSList *map_info = read_self_maps();
|
||||||
GSList *s;
|
GSList *s;
|
||||||
|
int count;
|
||||||
|
|
||||||
for (s = map_info; s; s = g_slist_next(s)) {
|
for (s = map_info; s; s = g_slist_next(s)) {
|
||||||
MapInfo *e = (MapInfo *) s->data;
|
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) {
|
if (h2g(min) == ts->info->stack_limit) {
|
||||||
path = " [stack]";
|
path = "[stack]";
|
||||||
} else {
|
} else {
|
||||||
path = e->path;
|
path = e->path;
|
||||||
}
|
}
|
||||||
|
|
||||||
dprintf(fd, TARGET_ABI_FMT_ptr "-" TARGET_ABI_FMT_ptr
|
count = dprintf(fd, TARGET_ABI_FMT_ptr "-" TARGET_ABI_FMT_ptr
|
||||||
" %c%c%c%c %08" PRIx64 " %s %"PRId64" %s%s\n",
|
" %c%c%c%c %08" PRIx64 " %s %"PRId64,
|
||||||
h2g(min), h2g(max - 1) + 1,
|
h2g(min), h2g(max - 1) + 1,
|
||||||
e->is_read ? 'r' : '-',
|
e->is_read ? 'r' : '-',
|
||||||
e->is_write ? 'w' : '-',
|
e->is_write ? 'w' : '-',
|
||||||
e->is_exec ? 'x' : '-',
|
e->is_exec ? 'x' : '-',
|
||||||
e->is_priv ? 'p' : '-',
|
e->is_priv ? 'p' : '-',
|
||||||
(uint64_t) e->offset, e->dev, e->inode,
|
(uint64_t) e->offset, e->dev, e->inode);
|
||||||
path ? " " : "", path ? path : "");
|
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.
|
* We only support execution from the vsyscall page.
|
||||||
* This is as if CONFIG_LEGACY_VSYSCALL_XONLY=y from v5.3.
|
* This is as if CONFIG_LEGACY_VSYSCALL_XONLY=y from v5.3.
|
||||||
*/
|
*/
|
||||||
dprintf(fd, TARGET_FMT_lx "-" TARGET_FMT_lx
|
count = dprintf(fd, TARGET_FMT_lx "-" TARGET_FMT_lx
|
||||||
" --xp 00000000 00:00 0 [vsyscall]\n",
|
" --xp 00000000 00:00 0",
|
||||||
TARGET_VSYSCALL_PAGE, TARGET_VSYSCALL_PAGE + TARGET_PAGE_SIZE);
|
TARGET_VSYSCALL_PAGE, TARGET_VSYSCALL_PAGE + TARGET_PAGE_SIZE);
|
||||||
|
dprintf(fd, "%*s%s\n", 73 - count, "", "[vsyscall]");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user