bpftool: Switch to new btf__type_cnt API
authorHengqi Chen <hengqi.chen@gmail.com>
Fri, 22 Oct 2021 13:06:22 +0000 (21:06 +0800)
committerAndrii Nakryiko <andrii@kernel.org>
Fri, 22 Oct 2021 23:09:14 +0000 (16:09 -0700)
Replace the call to btf__get_nr_types with new API btf__type_cnt.
The old API will be deprecated in libbpf v0.7+. No functionality
change.

Signed-off-by: Hengqi Chen <hengqi.chen@gmail.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20211022130623.1548429-5-hengqi.chen@gmail.com
tools/bpf/bpftool/btf.c
tools/bpf/bpftool/gen.c

index 7b68d4f65fe62b34fba67f1bcbbe6342651d04d7..0cd769adac66287c77d0b8ed6daee9e7324090d3 100644 (file)
@@ -329,7 +329,7 @@ static int dump_btf_type(const struct btf *btf, __u32 id,
                                printf("\n\ttype_id=%u offset=%u size=%u",
                                       v->type, v->offset, v->size);
 
-                               if (v->type <= btf__get_nr_types(btf)) {
+                               if (v->type < btf__type_cnt(btf)) {
                                        vt = btf__type_by_id(btf, v->type);
                                        printf(" (%s '%s')",
                                               btf_kind_str[btf_kind_safe(btf_kind(vt))],
@@ -390,14 +390,14 @@ static int dump_btf_raw(const struct btf *btf,
                }
        } else {
                const struct btf *base;
-               int cnt = btf__get_nr_types(btf);
+               int cnt = btf__type_cnt(btf);
                int start_id = 1;
 
                base = btf__base_btf(btf);
                if (base)
-                       start_id = btf__get_nr_types(base) + 1;
+                       start_id = btf__type_cnt(base);
 
-               for (i = start_id; i <= cnt; i++) {
+               for (i = start_id; i < cnt; i++) {
                        t = btf__type_by_id(btf, i);
                        dump_btf_type(btf, i, t);
                }
@@ -440,9 +440,9 @@ static int dump_btf_c(const struct btf *btf,
                                goto done;
                }
        } else {
-               int cnt = btf__get_nr_types(btf);
+               int cnt = btf__type_cnt(btf);
 
-               for (i = 1; i <= cnt; i++) {
+               for (i = 1; i < cnt; i++) {
                        err = btf_dump__dump_type(d, i);
                        if (err)
                                goto done;
index c446405ab73fe134573ef99fafc075d76c080a17..5c18351290f002c933c92e57a573c7e9aec8d9aa 100644 (file)
@@ -211,7 +211,7 @@ static int codegen_datasec_def(struct bpf_object *obj,
 static int codegen_datasecs(struct bpf_object *obj, const char *obj_name)
 {
        struct btf *btf = bpf_object__btf(obj);
-       int n = btf__get_nr_types(btf);
+       int n = btf__type_cnt(btf);
        struct btf_dump *d;
        struct bpf_map *map;
        const struct btf_type *sec;
@@ -233,7 +233,7 @@ static int codegen_datasecs(struct bpf_object *obj, const char *obj_name)
                        continue;
 
                sec = NULL;
-               for (i = 1; i <= n; i++) {
+               for (i = 1; i < n; i++) {
                        const struct btf_type *t = btf__type_by_id(btf, i);
                        const char *name;