Message ID | 20201206172617.9751-1-vt@altlinux.org (mailing list archive) |
---|---|
State | Not Applicable |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | dwarves: Fix compilation on 32-bit architectures | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Not a local patch |
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@altlinux.org> > Cc: bpf@vger.kernel.org > Cc: dwarves@vger.kernel.org > --- > 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 >
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; }
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: 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@altlinux.org> Cc: bpf@vger.kernel.org Cc: dwarves@vger.kernel.org --- btf_encoder.c | 8 ++++---- pahole.c | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-)