perf tools: Fix 64 bit integer format strings
Using %L[uxd] has issues in some architectures, like on ppc64. Fix it by making our 64 bit integers typedefs of stdint.h types and using PRI[ux]64 like, for instance, git does. Reported by Denis Kirjanov that provided a patch for one case, I went and changed all cases. Reported-by: Denis Kirjanov <dkirjanov@kernel.org> Tested-by: Denis Kirjanov <dkirjanov@kernel.org> LKML-Reference: <20110120093246.GA8031@hera.kernel.org> Cc: Denis Kirjanov <dkirjanov@kernel.org> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Mike Galbraith <efault@gmx.de> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Pingtian Han <phan@redhat.com> Cc: Stephane Eranian <eranian@google.com> Cc: Tom Zanussi <tzanussi@gmail.com> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
@@ -11,6 +11,7 @@
|
||||
#include <sys/param.h>
|
||||
#include <fcntl.h>
|
||||
#include <unistd.h>
|
||||
#include <inttypes.h>
|
||||
#include "build-id.h"
|
||||
#include "debug.h"
|
||||
#include "symbol.h"
|
||||
@@ -153,7 +154,7 @@ static struct symbol *symbol__new(u64 start, u64 len, u8 binding,
|
||||
self->binding = binding;
|
||||
self->namelen = namelen - 1;
|
||||
|
||||
pr_debug4("%s: %s %#Lx-%#Lx\n", __func__, name, start, self->end);
|
||||
pr_debug4("%s: %s %#" PRIx64 "-%#" PRIx64 "\n", __func__, name, start, self->end);
|
||||
|
||||
memcpy(self->name, name, namelen);
|
||||
|
||||
@@ -167,7 +168,7 @@ void symbol__delete(struct symbol *self)
|
||||
|
||||
static size_t symbol__fprintf(struct symbol *self, FILE *fp)
|
||||
{
|
||||
return fprintf(fp, " %llx-%llx %c %s\n",
|
||||
return fprintf(fp, " %" PRIx64 "-%" PRIx64 " %c %s\n",
|
||||
self->start, self->end,
|
||||
self->binding == STB_GLOBAL ? 'g' :
|
||||
self->binding == STB_LOCAL ? 'l' : 'w',
|
||||
@@ -1215,8 +1216,8 @@ static int dso__load_sym(struct dso *self, struct map *map, const char *name,
|
||||
}
|
||||
|
||||
if (curr_dso->adjust_symbols) {
|
||||
pr_debug4("%s: adjusting symbol: st_value: %#Lx "
|
||||
"sh_addr: %#Lx sh_offset: %#Lx\n", __func__,
|
||||
pr_debug4("%s: adjusting symbol: st_value: %#" PRIx64 " "
|
||||
"sh_addr: %#" PRIx64 " sh_offset: %#" PRIx64 "\n", __func__,
|
||||
(u64)sym.st_value, (u64)shdr.sh_addr,
|
||||
(u64)shdr.sh_offset);
|
||||
sym.st_value -= shdr.sh_addr - shdr.sh_offset;
|
||||
|
Reference in New Issue
Block a user