[PATCH] tools lib traceevent: Fix build failure on 32-bit arch

From: Namhyung Kim
Date: Thu Apr 23 2015 - 21:45:16 EST


In my i386 build, it failed like this:

CC event-parse.o
event-parse.c: In function 'print_str_arg':
event-parse.c:3868:5: warning: format '%lu' expects argument of type 'long unsigned int',
but argument 3 has type 'uint64_t' [-Wformat]

Cc: Javi Merino <javi.merino@xxxxxxx>
Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
---
tools/lib/traceevent/event-parse.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/lib/traceevent/event-parse.c b/tools/lib/traceevent/event-parse.c
index 12a7e2a40c89..aa21bd55bd8a 100644
--- a/tools/lib/traceevent/event-parse.c
+++ b/tools/lib/traceevent/event-parse.c
@@ -3865,7 +3865,7 @@ static void print_str_arg(struct trace_seq *s, void *data, int size,
} else if (el_size == 4) {
trace_seq_printf(s, "%u", *(uint32_t *)num);
} else if (el_size == 8) {
- trace_seq_printf(s, "%lu", *(uint64_t *)num);
+ trace_seq_printf(s, "%"PRIu64, *(uint64_t *)num);
} else {
trace_seq_printf(s, "BAD SIZE:%d 0x%x",
el_size, *(uint8_t *)num);
--
2.3.4


Thanks,
Namhyung


On Thu, Apr 23, 2015 at 07:03:06PM -0300, Arnaldo Carvalho de Melo wrote:
> Hi Ingo,
>
> Please consider pulling,
>
> - Arnaldo
>
> The following changes since commit 0140e6141e4f1d4b15fb469e6912b0e71b7d1cc2:
>
> perf/x86/intel/uncore: Move PCI IDs for IMC to uncore driver (2015-04-22 08:29:19 +0200)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-urgent-for-mingo
>
> for you to fetch changes up to de28c15daf60e9625bece22f13a091fac8d05f1d:
>
> tools lib api: Undefine _FORTIFY_SOURCE before setting it (2015-04-23 17:08:23 -0300)
>
> ----------------------------------------------------------------
> perf/urgent fixes:
>
> User visible:
>
> - Enable events when doing system wide 'trace' and starting a
> workload, e.g:
>
> # trace -a sleep 1
>
> now it matches the pattern in 'record' and will show envents
> instead of sitting doing nothing while waiting for the started
> workload to finish (Arnaldo Carvalho de Melo)
>
> - Disable and drain events when forked 'trace' workload ends
> making sure we notice the end of the workload instead of
> trying to keep up with the seemingly neverending flux of
> system wide events (Arnaldo Carvalho de Melo)
>
> Infrastructure:
>
> - Fix the build on 32-bit ARM by consistently use PRIu64 for printing u64
> values in 'perf kmem' (Will Deacon)
>
> - Undefine _FORTIFY_SOURCE before setting it in tools/perf/api, fixing the build on
> Hardened Gentoo systems (Bobby Powers)
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
>
> ----------------------------------------------------------------
> Arnaldo Carvalho de Melo (2):
> perf trace: Enable events when doing system wide tracing and starting a workload
> perf trace: Disable events and drain events when forked workload ends
>
> Bobby Powers (1):
> tools lib api: Undefine _FORTIFY_SOURCE before setting it
>
> Will Deacon (1):
> perf kmem: Consistently use PRIu64 for printing u64 values
>
> tools/lib/api/Makefile | 2 +-
> tools/perf/builtin-kmem.c | 4 ++--
> tools/perf/builtin-trace.c | 10 ++++++++--
> 3 files changed, 11 insertions(+), 5 deletions(-)
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/