• Arnaldo Carvalho de Melo's avatar
    perf daemon: Fix the build on more 32-bit architectures · e162cb25
    Arnaldo Carvalho de Melo authored
    FYI: I'm carrying this on perf-tools-next.
    
    The previous attempt fixed the build on debian:experimental-x-mipsel,
    but when building on a larger set of containers I noticed it broke the
    build on some other 32-bit architectures such as:
    
      42     7.87 ubuntu:18.04-x-arm            : FAIL gcc version 7.5.0 (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04)
        builtin-daemon.c: In function 'cmd_session_list':
        builtin-daemon.c:692:16: error: format '%llu' expects argument of type 'long long unsigned int', but argument 4 has type 'long int' [-Werror=format=]
           fprintf(out, "%c%" PRIu64,
                        ^~~~~
        builtin-daemon.c:694:13:
            csv_sep, (curr - daemon->start) / 60);
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
        In file included from builtin-daemon.c:3:0:
        /usr/arm-linux-gnueabihf/include/inttypes.h:105:34: note: format string is defined here
         # define PRIu64  __PRI64_PREFIX "u"
    
    So lets cast that time_t (32-bit/64-bit) to uint64_t to make sure it
    builds everywhere.
    
    Fixes: 4bbe6002 ("perf daemon: Fix the build on 32-bit architectures")
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Link: https://lore.kernel.org/r/ZsPmldtJ0D9Cua9_@x1Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
    e162cb25
builtin-daemon.c 31.4 KB