Re: [PATCH v2 bpf-next 7/9] bpftool: add BTF dump "format meta" to dump header/metadata

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

 



On Fri, Jun 16, 2023 at 10:18 AM Alan Maguire <alan.maguire@xxxxxxxxxx> wrote:
>
> Provide a way to dump BTF metadata info via bpftool; this
> consists of BTF size, header fields and kind layout info
> (if available); for example
>
> $ bpftool btf dump file vmlinux format meta
> size 4966513
> magic 0xeb9f
> version 1
> flags 0x0
> hdr_len 24
> type_len 2929900
> type_off 0
> str_len 2036589
> str_off 2929900
>
> ...or for vmlinux with kind layout, crc:
>
> $ bpftool btf dump file vmlinux format meta
> size 5034496
> magic 0xeb9f
> version 1
> flags 0x1
> hdr_len 40
> type_len 2973628
> type_off 0
> str_len 2060745
> str_off 2973628
> kind_layout_len 80
> kind_layout_off 5034376
> crc 0xb6a5171f
> base_crc 0x0
> kind 0    flags 0x0    info_sz 0    elem_sz 0
> kind 1    flags 0x0    info_sz 4    elem_sz 0
> kind 2    flags 0x0    info_sz 0    elem_sz 0
> kind 3    flags 0x0    info_sz 12   elem_sz 0
> kind 4    flags 0x0    info_sz 0    elem_sz 12

well, bpftool will know symbolic names for most of these, so why not
emit them? I think it's fine to emit both, something like


kind INT (1)  flags ....
...

and for unknown:

kind <unknown> (123) flags ....


WDYT?

> ...
>
> JSON output is also supported:
>
> $ bpftool -j btf dump file vmlinux format meta
> {"size":4904369,{"header":"magic":60319,"version":1,"flags":0,"hdr_len":24,"type_len":2893508,"type_off":0,"str_len":2010837,"str_off":2893508}}
>
> Signed-off-by: Alan Maguire <alan.maguire@xxxxxxxxxx>
> ---
>  tools/bpf/bpftool/bash-completion/bpftool |  2 +-
>  tools/bpf/bpftool/btf.c                   | 93 ++++++++++++++++++++++-
>  2 files changed, 92 insertions(+), 3 deletions(-)
>

[...]





[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