Em Sun, Dec 06, 2020 at 08:26:17PM +0300, Vitaly Chikunov escreveu: > Replace `%lx' for addr (uint64_t) with PRIx64. `%ld' for seek_bytes > (off_t) is replaced with PRIx64 too, likewise in other places it's > printed. > > Fixes these error messages on i586 and arm-32: Thanks, I had noticed this when I last did a scratch build on koji and was going to fix it, now I don't need to do it, thanks! :-) - Arnaldo > btf_encoder.c:445:52: error: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'uint64_t' > btf_encoder.c:687:54: error: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'uint64_t' > btf_encoder.c:695:71: error: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'uint64_t' > btf_encoder.c:708:88: error: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'uint64_t' > pahole.c:1872:20: error: format '%ld' expects argument of type 'long int', but argument 4 has type 'off_t' > > Signed-off-by: Vitaly Chikunov <vt@xxxxxxxxxxxx> > Cc: bpf@xxxxxxxxxxxxxxx > Cc: dwarves@xxxxxxxxxxxxxxx > --- > btf_encoder.c | 8 ++++---- > pahole.c | 2 +- > 2 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/btf_encoder.c b/btf_encoder.c > index c40f059..feb1023 100644 > --- a/btf_encoder.c > +++ b/btf_encoder.c > @@ -442,7 +442,7 @@ static int collect_percpu_var(struct btf_elf *btfe, GElf_Sym *sym) > } > > if (btf_elf__verbose) > - printf("Found per-CPU symbol '%s' at address 0x%lx\n", sym_name, addr); > + printf("Found per-CPU symbol '%s' at address 0x%" PRIx64 "\n", sym_name, addr); > > if (percpu_var_cnt == MAX_PERCPU_VAR_CNT) { > fprintf(stderr, "Reached the limit of per-CPU variables: %d\n", > @@ -684,7 +684,7 @@ int cu__encode_btf(struct cu *cu, int verbose, bool force, > linkage = var->external ? BTF_VAR_GLOBAL_ALLOCATED : BTF_VAR_STATIC; > > if (btf_elf__verbose) { > - printf("Variable '%s' from CU '%s' at address 0x%lx encoded\n", > + printf("Variable '%s' from CU '%s' at address 0x%" PRIx64 " encoded\n", > name, cu->name, addr); > } > > @@ -692,7 +692,7 @@ int cu__encode_btf(struct cu *cu, int verbose, bool force, > id = btf_elf__add_var_type(btfe, type, name, linkage); > if (id < 0) { > err = -1; > - fprintf(stderr, "error: failed to encode variable '%s' at addr 0x%lx\n", > + fprintf(stderr, "error: failed to encode variable '%s' at addr 0x%" PRIx64 "\n", > name, addr); > break; > } > @@ -705,7 +705,7 @@ int cu__encode_btf(struct cu *cu, int verbose, bool force, > id = btf_elf__add_var_secinfo(&btfe->percpu_secinfo, id, offset, size); > if (id < 0) { > err = -1; > - fprintf(stderr, "error: failed to encode section info for variable '%s' at addr 0x%lx\n", > + fprintf(stderr, "error: failed to encode section info for variable '%s' at addr 0x%" PRIx64 "\n", > name, addr); > break; > } > diff --git a/pahole.c b/pahole.c > index fe8d2cd..4a34ba5 100644 > --- a/pahole.c > +++ b/pahole.c > @@ -1869,7 +1869,7 @@ static int prototype__stdio_fprintf_value(struct prototype *prototype, struct ty > > // Since we're reading stdin, we need to account for what we already read > if (seek_bytes < total_read_bytes) { > - fprintf(stderr, "pahole: can't go back in stdin, already read %" PRIu64 " bytes, can't go to position %ld\n", > + fprintf(stderr, "pahole: can't go back in stdin, already read %" PRIu64 " bytes, can't go to position %#" PRIx64 "\n", > total_read_bytes, seek_bytes); > return -ENOMEM; > } > -- > 2.25.4 > -- - Arnaldo