Fix formatting specifiers for printing GElf_Addr
The use of GElf_Addr types was causing warnings when printed with %lx
format specifiers. This patch fixes the problem by using the portable
<inttypes.h> header and PRIx64 macro.
In a few places, added missing alternate form specifier ('#') to ensure
0x prefix is printed for the addresses in question.
Signed-off-by: Zachary T Welch <zwelch@codesourcery.com>
diff --git a/sysdeps/linux-gnu/proc.c b/sysdeps/linux-gnu/proc.c
index d11b61b..642cb32 100644
--- a/sysdeps/linux-gnu/proc.c
+++ b/sysdeps/linux-gnu/proc.c
@@ -2,6 +2,7 @@
#include "common.h"
#include <sys/types.h>
+#include <inttypes.h>
#include <link.h>
#include <stdio.h>
#include <string.h>
@@ -178,7 +179,9 @@
GElf_Addr addr;
if (in_load_libraries(xptr->name, <e, 1, &sym)) {
- debug(2, "found symbol %s @ %lx, adding it.", xptr->name, sym.st_value);
+ debug(2, "found symbol %s @ %#" PRIx64
+ ", adding it.",
+ xptr->name, sym.st_value);
addr = sym.st_value;
add_library_symbol(addr, xptr->name, &library_symbols, LS_TOPLT_NONE, 0);
xptr->found = 1;