Re: [PATCH] dwarves: Fix compilation on 32-bit architectures

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux