perf kwork: Fix a build error on 32-bit
authorYang Jihong <yangjihong1@huawei.com>
Sat, 18 Nov 2023 02:48:56 +0000 (02:48 +0000)
committerNamhyung Kim <namhyung@kernel.org>
Tue, 21 Nov 2023 18:02:38 +0000 (10:02 -0800)
lkft reported a build error for 32-bit system:

    builtin-kwork.c: In function 'top_print_work':
    builtin-kwork.c:1646:28: error: format '%ld' expects argument of
  type 'long int', but argument 3 has type 'u64' {aka 'long long
  unsigned int'} [-Werror=format=]
     1646 |         ret += printf(" %*ld ", PRINT_PID_WIDTH, work->id);
          |                         ~~~^                     ~~~~~~~~
          |                            |                         |
          |                            long int                  u64
  {aka long long unsigned int}
          |                         %*lld
    cc1: all warnings being treated as errors
    make[3]: *** [/builds/linux/tools/build/Makefile.build:106:
  /home/tuxbuild/.cache/tuxmake/builds/1/build/builtin-kwork.o] Error 1

Fix it.

Fixes: 55c40e505234 ("perf kwork top: Introduce new top utility")
Reported-by: Linux Kernel Functional Testing <lkft@linaro.org>
Signed-off-by: Yang Jihong <yangjihong1@huawei.com>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Cc: avagin@google.com
Cc: daniel.diaz@linaro.org
Link: https://lore.kernel.org/r/20231118024858.1567039-2-yangjihong1@huawei.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
tools/perf/builtin-kwork.c

index f007a9b27065f8708934849633a77fe7a19f1c4d..0092b9b39611d7e9d0bcc0f5c89668e96a615d68 100644 (file)
@@ -1643,7 +1643,7 @@ static int top_print_work(struct perf_kwork *kwork __maybe_unused, struct kwork_
        /*
         * pid
         */
-       ret += printf(" %*ld ", PRINT_PID_WIDTH, work->id);
+       ret += printf(" %*" PRIu64 " ", PRINT_PID_WIDTH, work->id);
 
        /*
         * tgid