diff mbox series

[bpf-next] libbpf: fix printf formatter for ptrdiff_t argument

Message ID 20190416184717.1392147-1-andrii.nakryiko@gmail.com
State Accepted
Delegated to: BPF Maintainers
Headers show
Series [bpf-next] libbpf: fix printf formatter for ptrdiff_t argument | expand

Commit Message

Andrii Nakryiko April 16, 2019, 6:47 p.m. UTC
From: Andrii Nakryiko <andriin@fb.com>

Using %ld for printing out value of ptrdiff_t type is not portable
between 32-bit and 64-bit archs. This is causing compilation errors for
libbpf on 32-bit platform (discovered as part of an effort to integrate
libbpf into systemd ([0])). Proper formatter is %td, which is used in
this patch.

v2->v1:
  - add Reported-by
  - provide more context on how this issue was discovered

[0] https://github.com/systemd/systemd/pull/12151

Reported-by: Evgeny Vereshchagin <evvers@ya.ru>
Cc: Daniel Borkmann <daniel@iogearbox.net>
Cc: Alexei Starovoitov <ast@fb.com>
Cc: Yonghong Song <yhs@fb.com>
Signed-off-by: Andrii Nakryiko <andriin@fb.com>
---
 tools/lib/bpf/libbpf.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Song Liu April 16, 2019, 9:27 p.m. UTC | #1
On Tue, Apr 16, 2019 at 11:47 AM <andrii.nakryiko@gmail.com> wrote:
>
> From: Andrii Nakryiko <andriin@fb.com>
>
> Using %ld for printing out value of ptrdiff_t type is not portable
> between 32-bit and 64-bit archs. This is causing compilation errors for
> libbpf on 32-bit platform (discovered as part of an effort to integrate
> libbpf into systemd ([0])). Proper formatter is %td, which is used in
> this patch.
>
> v2->v1:
>   - add Reported-by
>   - provide more context on how this issue was discovered
>
> [0] https://github.com/systemd/systemd/pull/12151
>
> Reported-by: Evgeny Vereshchagin <evvers@ya.ru>
> Cc: Daniel Borkmann <daniel@iogearbox.net>
> Cc: Alexei Starovoitov <ast@fb.com>
> Cc: Yonghong Song <yhs@fb.com>
> Signed-off-by: Andrii Nakryiko <andriin@fb.com>

Acked-by: Song Liu <songliubraving@fb.com>


> ---
>  tools/lib/bpf/libbpf.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c
> index e5b77ad97795..d817bf20f3d6 100644
> --- a/tools/lib/bpf/libbpf.c
> +++ b/tools/lib/bpf/libbpf.c
> @@ -817,7 +817,7 @@ bpf_object__init_internal_map(struct bpf_object *obj, struct bpf_map *map,
>                 memcpy(*data_buff, data->d_buf, data->d_size);
>         }
>
> -       pr_debug("map %ld is \"%s\"\n", map - obj->maps, map->name);
> +       pr_debug("map %td is \"%s\"\n", map - obj->maps, map->name);
>         return 0;
>  }
>
> --
> 2.17.1
>
Alexei Starovoitov April 17, 2019, 2:45 a.m. UTC | #2
On Tue, Apr 16, 2019 at 11:47 AM <andrii.nakryiko@gmail.com> wrote:
>
> From: Andrii Nakryiko <andriin@fb.com>
>
> Using %ld for printing out value of ptrdiff_t type is not portable
> between 32-bit and 64-bit archs. This is causing compilation errors for
> libbpf on 32-bit platform (discovered as part of an effort to integrate
> libbpf into systemd ([0])). Proper formatter is %td, which is used in
> this patch.
>
> v2->v1:
>   - add Reported-by
>   - provide more context on how this issue was discovered
>
> [0] https://github.com/systemd/systemd/pull/12151
>
> Reported-by: Evgeny Vereshchagin <evvers@ya.ru>
> Cc: Daniel Borkmann <daniel@iogearbox.net>
> Cc: Alexei Starovoitov <ast@fb.com>
> Cc: Yonghong Song <yhs@fb.com>
> Signed-off-by: Andrii Nakryiko <andriin@fb.com>

Applied. Thanks
diff mbox series

Patch

diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c
index e5b77ad97795..d817bf20f3d6 100644
--- a/tools/lib/bpf/libbpf.c
+++ b/tools/lib/bpf/libbpf.c
@@ -817,7 +817,7 @@  bpf_object__init_internal_map(struct bpf_object *obj, struct bpf_map *map,
 		memcpy(*data_buff, data->d_buf, data->d_size);
 	}
 
-	pr_debug("map %ld is \"%s\"\n", map - obj->maps, map->name);
+	pr_debug("map %td is \"%s\"\n", map - obj->maps, map->name);
 	return 0;
 }