dwarves.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] dwarves: Fix compilation on 32-bit architectures
@ 2020-12-06 17:26 Vitaly Chikunov
  2020-12-07 15:55 ` Arnaldo Carvalho de Melo
  0 siblings, 1 reply; 2+ messages in thread
From: Vitaly Chikunov @ 2020-12-06 17:26 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo, bpf, dwarves; +Cc: Vitaly Chikunov

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(-)

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


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] dwarves: Fix compilation on 32-bit architectures
  2020-12-06 17:26 [PATCH] dwarves: Fix compilation on 32-bit architectures Vitaly Chikunov
@ 2020-12-07 15:55 ` Arnaldo Carvalho de Melo
  0 siblings, 0 replies; 2+ messages in thread
From: Arnaldo Carvalho de Melo @ 2020-12-07 15:55 UTC (permalink / raw)
  To: Vitaly Chikunov; +Cc: Arnaldo Carvalho de Melo, bpf, dwarves

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
> 

-- 

- Arnaldo

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-12-07 15:56 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-06 17:26 [PATCH] dwarves: Fix compilation on 32-bit architectures Vitaly Chikunov
2020-12-07 15:55 ` Arnaldo Carvalho de Melo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).