2023-11-18 02:52:26

by Yang Jihong

[permalink] [raw]
Subject: [PATCH 1/3] perf kwork: Fix a build error on 32-bit

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 <[email protected]>
Signed-off-by: Yang Jihong <[email protected]>
---
tools/perf/builtin-kwork.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/builtin-kwork.c b/tools/perf/builtin-kwork.c
index f007a9b27065..0092b9b39611 100644
--- a/tools/perf/builtin-kwork.c
+++ b/tools/perf/builtin-kwork.c
@@ -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
--
2.34.1