[PATCH 1/1] sim/ppc: Fix core_find_mapping diagnostics

Tsukasa OI via Gdb-patches
2022-10-12T12:40:00Z

Because "%p" is the pointer conversion specifier to print a pointer in an
implementation-defined manner, the result with format string containing
"0x%p" can be strange. For instance, core_map_find_mapping prints error
containing "0x0x...." (processor is not NULL) or "0x(null)" (processor is
NULL) on glibc.

This commit replaces "0x%p" with "%p" to prevent unpredictable behavior.
---
sim/ppc/corefile.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sim/ppc/corefile.c b/sim/ppc/corefile.c
index b2faef58c5b..ee4e2cf733e 100644
--- a/sim/ppc/corefile.c
+++ b/sim/ppc/corefile.c
@@ -292,7 +292,7 @@ core_map_find_mapping(core_map *map,
mapping = mapping->next;
}
if (abort)
- error("core_find_mapping() - access to unmaped address, attach a default map to handle this - addr=0x%x nr_bytes=0x%x processor=0x%p cia=0x%x\n",
+ error("core_find_mapping() - access to unmaped address, attach a default map to handle this - addr=0x%x nr_bytes=0x%x processor=%p cia=0x%x\n",
addr, nr_bytes, (void *) processor, cia);
return NULL;
}
--
2.34.1