On Wed, Dec 30, 2020 at 10:21:09AM -0800, Yonghong Song wrote: > On 12/19/20 8:36 AM, Sean Young wrote: > > clang supports arbitrary length ints using the _ExtInt extension. This > > can be useful to hold very large values, e.g. 256 bit or 512 bit types. > > > > Larger types (e.g. 1024 bits) are possible but I am unaware of a use > > case for these. > > > > This requires the _ExtInt extension enabled in clang, which is under > > review. > > > > Link: https://clang.llvm.org/docs/LanguageExtensions.html#extended-integer-types > > Link: https://reviews.llvm.org/D93103 > > > > Signed-off-by: Sean Young <sean@xxxxxxxx> > > --- > > changes since v2: > > - added tests as suggested by Yonghong Song > > - added kernel pretty-printer > > > > Documentation/bpf/btf.rst | 4 +- > > include/uapi/linux/btf.h | 2 +- > > kernel/bpf/btf.c | 54 +- > > tools/bpf/bpftool/btf_dumper.c | 40 ++ > > tools/include/uapi/linux/btf.h | 2 +- > > tools/lib/bpf/btf.c | 2 +- > > tools/testing/selftests/bpf/Makefile | 3 +- > > tools/testing/selftests/bpf/prog_tests/btf.c | 3 +- > > .../selftests/bpf/progs/test_btf_extint.c | 50 ++ > > tools/testing/selftests/bpf/test_extint.py | 535 ++++++++++++++++++ > > For easier review, maybe you can break this patch into a patch series like > below? > patch 1 (kernel related changes and doc) > kernel/bpf/btf.c, include/uapi/linux/btf.h, > tools/include/uapi/linux/btf.h > Documentation/bpf/btf.rst > patch 2 (libbpf support) > tools/lib/bpf/btf.c > patch 3 (bpftool support) > tools/bpf/bpftool/btf_dumper.c > patch 4 (testing) > rest files That makes sense, I'll send out v3 shortly. Thanks, Sean