Lines Matching +full:1 +full:d
31 struct btf_dump *d; in btf_dump_all_types() local
34 d = btf_dump__new(btf, NULL, opts, btf_dump_printf); in btf_dump_all_types()
35 err = libbpf_get_error(d); in btf_dump_all_types()
39 for (id = 1; id <= type_cnt; id++) { in btf_dump_all_types()
40 err = btf_dump__dump_type(d, id); in btf_dump_all_types()
46 btf_dump__free(d); in btf_dump_all_types()
54 int err = 0, fd = -1; in test_btf_dump_case()
74 CHECK(btf__pointer_size(btf) != 8, "ptr_sz", "exp %d, got %zu\n", in test_btf_dump_case()
85 if (CHECK(f == NULL, "open_tmp", "failed to open file: %s(%d)\n", in test_btf_dump_case()
95 if (CHECK(err, "btf_dump", "failure during C dumping: %d\n", err)) { in test_btf_dump_case()
100 if (access(test_file, R_OK) == -1) in test_btf_dump_case()
114 "awk '/START-EXPECTED-OUTPUT/{out=1;next} " in test_btf_dump_case()
121 "differing test output, output=%s, err=%d, diff cmd:\n%s\n", in test_btf_dump_case()
139 struct btf_dump *d = NULL; in test_btf_dump_incremental() local
150 d = btf_dump__new(btf, NULL, &opts, btf_dump_printf); in test_btf_dump_incremental()
151 if (!ASSERT_OK(libbpf_get_error(d), "btf_dump__new")) in test_btf_dump_incremental()
156 * enum { VAL = 1 }; in test_btf_dump_incremental()
162 ASSERT_EQ(id, 1, "enum_id"); in test_btf_dump_incremental()
163 err = btf__add_enum_value(btf, "VAL", 1); in test_btf_dump_incremental()
174 for (i = 1; i <= btf__get_nr_types(btf); i++) { in test_btf_dump_incremental()
175 err = btf_dump__dump_type(d, i); in test_btf_dump_incremental()
183 " VAL = 1,\n" in test_btf_dump_incremental()
194 * enum { VAL___2 = 1 } x; in test_btf_dump_incremental()
208 err = btf__add_field(btf, "x", 1, 0, 0); in test_btf_dump_incremental()
213 for (i = 1; i <= btf__get_nr_types(btf); i++) { in test_btf_dump_incremental()
214 err = btf_dump__dump_type(d, i); in test_btf_dump_incremental()
223 " VAL___2 = 1,\n" in test_btf_dump_incremental()
231 btf_dump__free(d); in test_btf_dump_incremental()
243 strncat(s, new, STRSIZE - strlen(s) - 1); in btf_dump_snprintf()
246 static int btf_dump_data(struct btf *btf, struct btf_dump *d, in btf_dump_data() argument
264 name += strlen(prefix) + 1; in btf_dump_data()
271 ret = btf_dump__dump_type_data(d, type_id, ptr, ptr_sz, &opts); in btf_dump_data()
327 static void test_btf_dump_int_data(struct btf *btf, struct btf_dump *d, in test_btf_dump_int_data() argument
336 i = (i << 64) | (i - 1); in test_btf_dump_int_data()
339 TEST_BTF_DUMP_DATA_C(btf, d, NULL, str, int, BTF_F_COMPACT, 1234); in test_btf_dump_int_data()
340 TEST_BTF_DUMP_DATA(btf, d, NULL, str, int, BTF_F_COMPACT | BTF_F_NONAME, in test_btf_dump_int_data()
342 TEST_BTF_DUMP_DATA(btf, d, NULL, str, int, 0, "(int)1234", 1234); in test_btf_dump_int_data()
345 TEST_BTF_DUMP_DATA(btf, d, NULL, str, int, BTF_F_COMPACT, "(int)0", 0); in test_btf_dump_int_data()
346 TEST_BTF_DUMP_DATA(btf, d, NULL, str, int, BTF_F_COMPACT | BTF_F_NONAME, in test_btf_dump_int_data()
348 TEST_BTF_DUMP_DATA(btf, d, NULL, str, int, BTF_F_COMPACT | BTF_F_ZERO, in test_btf_dump_int_data()
350 TEST_BTF_DUMP_DATA(btf, d, NULL, str, int, in test_btf_dump_int_data()
353 TEST_BTF_DUMP_DATA_C(btf, d, NULL, str, int, BTF_F_COMPACT, -4567); in test_btf_dump_int_data()
354 TEST_BTF_DUMP_DATA(btf, d, NULL, str, int, BTF_F_COMPACT | BTF_F_NONAME, in test_btf_dump_int_data()
356 TEST_BTF_DUMP_DATA(btf, d, NULL, str, int, 0, "(int)-4567", -4567); in test_btf_dump_int_data()
358 TEST_BTF_DUMP_DATA_OVER(btf, d, NULL, str, int, sizeof(int)-1, "", 1); in test_btf_dump_int_data()
361 TEST_BTF_DUMP_DATA(btf, d, NULL, str, __int128, BTF_F_COMPACT, in test_btf_dump_int_data()
364 ASSERT_OK(btf_dump_data(btf, d, "__int128", NULL, 0, &i, 16, str, in test_btf_dump_int_data()
370 static void test_btf_dump_float_data(struct btf *btf, struct btf_dump *d, in test_btf_dump_float_data() argument
388 ASSERT_OK(btf_dump_data(btf, d, "test_float", NULL, 0, &t1, 4, str, in test_btf_dump_float_data()
390 ASSERT_OK(btf_dump_data(btf, d, "test_float", NULL, 0, &t2, 4, str, in test_btf_dump_float_data()
392 ASSERT_OK(btf_dump_data(btf, d, "test_float", NULL, 0, &t3, 4, str, in test_btf_dump_float_data()
396 ASSERT_OK(btf_dump_data(btf, d, "test_double", NULL, 0, &t4, 8, str, in test_btf_dump_float_data()
398 ASSERT_OK(btf_dump_data(btf, d, "test_double", NULL, 0, &t5, 8, str, in test_btf_dump_float_data()
400 ASSERT_OK(btf_dump_data(btf, d, "test_double", NULL, 0, &t6, 8, str, in test_btf_dump_float_data()
404 ASSERT_OK(btf_dump_data(btf, d, "test_long_double", NULL, 0, &t7, 16, in test_btf_dump_float_data()
407 ASSERT_OK(btf_dump_data(btf, d, "test_long_double", NULL, 0, &t8, 16, in test_btf_dump_float_data()
410 ASSERT_OK(btf_dump_data(btf, d, "test_long_double", NULL, 0, &t9, 16, in test_btf_dump_float_data()
415 static void test_btf_dump_char_data(struct btf *btf, struct btf_dump *d, in test_btf_dump_char_data() argument
419 TEST_BTF_DUMP_DATA_C(btf, d, NULL, str, char, BTF_F_COMPACT, 100); in test_btf_dump_char_data()
420 TEST_BTF_DUMP_DATA(btf, d, NULL, str, char, BTF_F_COMPACT | BTF_F_NONAME, in test_btf_dump_char_data()
422 TEST_BTF_DUMP_DATA(btf, d, NULL, str, char, 0, "(char)100", 100); in test_btf_dump_char_data()
424 TEST_BTF_DUMP_DATA(btf, d, NULL, str, char, BTF_F_COMPACT, in test_btf_dump_char_data()
426 TEST_BTF_DUMP_DATA(btf, d, NULL, str, char, BTF_F_COMPACT | BTF_F_NONAME, in test_btf_dump_char_data()
428 TEST_BTF_DUMP_DATA(btf, d, NULL, str, char, BTF_F_COMPACT | BTF_F_ZERO, in test_btf_dump_char_data()
430 TEST_BTF_DUMP_DATA(btf, d, NULL, str, char, BTF_F_COMPACT | BTF_F_NONAME | BTF_F_ZERO, in test_btf_dump_char_data()
432 TEST_BTF_DUMP_DATA(btf, d, NULL, str, char, 0, "(char)0", 0); in test_btf_dump_char_data()
434 TEST_BTF_DUMP_DATA_OVER(btf, d, NULL, str, char, sizeof(char)-1, "", 100); in test_btf_dump_char_data()
437 static void test_btf_dump_typedef_data(struct btf *btf, struct btf_dump *d, in test_btf_dump_typedef_data() argument
441 TEST_BTF_DUMP_DATA_C(btf, d, NULL, str, uint64_t, BTF_F_COMPACT, 100); in test_btf_dump_typedef_data()
442 TEST_BTF_DUMP_DATA(btf, d, NULL, str, u64, BTF_F_COMPACT | BTF_F_NONAME, in test_btf_dump_typedef_data()
443 "1", 1); in test_btf_dump_typedef_data()
444 TEST_BTF_DUMP_DATA(btf, d, NULL, str, u64, 0, "(u64)1", 1); in test_btf_dump_typedef_data()
446 TEST_BTF_DUMP_DATA(btf, d, NULL, str, u64, BTF_F_COMPACT, "(u64)0", 0); in test_btf_dump_typedef_data()
447 TEST_BTF_DUMP_DATA(btf, d, NULL, str, u64, BTF_F_COMPACT | BTF_F_NONAME, in test_btf_dump_typedef_data()
449 TEST_BTF_DUMP_DATA(btf, d, NULL, str, u64, BTF_F_COMPACT | BTF_F_ZERO, in test_btf_dump_typedef_data()
451 TEST_BTF_DUMP_DATA(btf, d, NULL, str, u64, in test_btf_dump_typedef_data()
454 TEST_BTF_DUMP_DATA(btf, d, NULL, str, u64, 0, "(u64)0", 0); in test_btf_dump_typedef_data()
457 TEST_BTF_DUMP_DATA_C(btf, d, NULL, str, atomic_t, BTF_F_COMPACT, in test_btf_dump_typedef_data()
458 {.counter = (int)1,}); in test_btf_dump_typedef_data()
459 TEST_BTF_DUMP_DATA(btf, d, NULL, str, atomic_t, BTF_F_COMPACT | BTF_F_NONAME, in test_btf_dump_typedef_data()
460 "{1,}", { .counter = 1 }); in test_btf_dump_typedef_data()
461 TEST_BTF_DUMP_DATA(btf, d, NULL, str, atomic_t, 0, in test_btf_dump_typedef_data()
463 " .counter = (int)1,\n" in test_btf_dump_typedef_data()
465 {.counter = 1,}); in test_btf_dump_typedef_data()
467 TEST_BTF_DUMP_DATA(btf, d, NULL, str, atomic_t, BTF_F_COMPACT, "(atomic_t){}", in test_btf_dump_typedef_data()
469 TEST_BTF_DUMP_DATA(btf, d, NULL, str, atomic_t, BTF_F_COMPACT | BTF_F_NONAME, in test_btf_dump_typedef_data()
471 TEST_BTF_DUMP_DATA(btf, d, NULL, str, atomic_t, 0, in test_btf_dump_typedef_data()
475 TEST_BTF_DUMP_DATA(btf, d, NULL, str, atomic_t, BTF_F_COMPACT | BTF_F_ZERO, in test_btf_dump_typedef_data()
478 TEST_BTF_DUMP_DATA(btf, d, NULL, str, atomic_t, in test_btf_dump_typedef_data()
481 TEST_BTF_DUMP_DATA(btf, d, NULL, str, atomic_t, BTF_F_ZERO, in test_btf_dump_typedef_data()
488 TEST_BTF_DUMP_DATA_OVER(btf, d, NULL, str, atomic_t, sizeof(atomic_t)-1, in test_btf_dump_typedef_data()
489 "(atomic_t){\n", { .counter = 1}); in test_btf_dump_typedef_data()
492 static void test_btf_dump_enum_data(struct btf *btf, struct btf_dump *d, in test_btf_dump_enum_data() argument
496 TEST_BTF_DUMP_DATA_C(btf, d, "enum", str, enum bpf_cmd, BTF_F_COMPACT, in test_btf_dump_enum_data()
498 TEST_BTF_DUMP_DATA(btf, d, "enum", str, enum bpf_cmd, BTF_F_COMPACT, in test_btf_dump_enum_data()
500 TEST_BTF_DUMP_DATA(btf, d, "enum", str, enum bpf_cmd, in test_btf_dump_enum_data()
504 TEST_BTF_DUMP_DATA(btf, d, "enum", str, enum bpf_cmd, 0, in test_btf_dump_enum_data()
507 TEST_BTF_DUMP_DATA(btf, d, "enum", str, enum bpf_cmd, in test_btf_dump_enum_data()
510 TEST_BTF_DUMP_DATA(btf, d, "enum", str, enum bpf_cmd, in test_btf_dump_enum_data()
514 TEST_BTF_DUMP_DATA(btf, d, "enum", str, enum bpf_cmd, in test_btf_dump_enum_data()
517 TEST_BTF_DUMP_DATA_C(btf, d, "enum", str, enum bpf_cmd, BTF_F_COMPACT, 2000); in test_btf_dump_enum_data()
518 TEST_BTF_DUMP_DATA(btf, d, "enum", str, enum bpf_cmd, in test_btf_dump_enum_data()
521 TEST_BTF_DUMP_DATA(btf, d, "enum", str, enum bpf_cmd, 0, in test_btf_dump_enum_data()
524 TEST_BTF_DUMP_DATA_OVER(btf, d, "enum", str, enum bpf_cmd, in test_btf_dump_enum_data()
525 sizeof(enum bpf_cmd) - 1, "", BPF_MAP_CREATE); in test_btf_dump_enum_data()
528 static void test_btf_dump_struct_data(struct btf *btf, struct btf_dump *d, in test_btf_dump_struct_data() argument
544 TEST_BTF_DUMP_DATA_C(btf, d, "struct", str, struct btf_enum, BTF_F_COMPACT, in test_btf_dump_struct_data()
545 {.name_off = (__u32)3,.val = (__s32)-1,}); in test_btf_dump_struct_data()
546 TEST_BTF_DUMP_DATA(btf, d, "struct", str, struct btf_enum, in test_btf_dump_struct_data()
548 "{3,-1,}", in test_btf_dump_struct_data()
549 { .name_off = 3, .val = -1,}); in test_btf_dump_struct_data()
550 TEST_BTF_DUMP_DATA(btf, d, "struct", str, struct btf_enum, 0, in test_btf_dump_struct_data()
553 " .val = (__s32)-1,\n" in test_btf_dump_struct_data()
555 { .name_off = 3, .val = -1,}); in test_btf_dump_struct_data()
556 TEST_BTF_DUMP_DATA(btf, d, "struct", str, struct btf_enum, in test_btf_dump_struct_data()
558 "{-1,}", in test_btf_dump_struct_data()
559 { .name_off = 0, .val = -1,}); in test_btf_dump_struct_data()
560 TEST_BTF_DUMP_DATA(btf, d, "struct", str, struct btf_enum, in test_btf_dump_struct_data()
562 "{0,-1,}", in test_btf_dump_struct_data()
563 { .name_off = 0, .val = -1,}); in test_btf_dump_struct_data()
565 TEST_BTF_DUMP_DATA(btf, d, "struct", str, struct btf_enum, BTF_F_COMPACT, in test_btf_dump_struct_data()
568 TEST_BTF_DUMP_DATA(btf, d, "struct", str, struct btf_enum, in test_btf_dump_struct_data()
572 TEST_BTF_DUMP_DATA(btf, d, "struct", str, struct btf_enum, 0, in test_btf_dump_struct_data()
576 TEST_BTF_DUMP_DATA(btf, d, "struct", str, struct btf_enum, in test_btf_dump_struct_data()
580 TEST_BTF_DUMP_DATA(btf, d, "struct", str, struct btf_enum, in test_btf_dump_struct_data()
589 TEST_BTF_DUMP_DATA(btf, d, "struct", str, struct list_head, BTF_F_COMPACT, in test_btf_dump_struct_data()
591 { .next = (struct list_head *)1 }); in test_btf_dump_struct_data()
592 TEST_BTF_DUMP_DATA(btf, d, "struct", str, struct list_head, 0, in test_btf_dump_struct_data()
596 { .next = (struct list_head *)1 }); in test_btf_dump_struct_data()
598 TEST_BTF_DUMP_DATA(btf, d, "struct", str, struct list_head, BTF_F_COMPACT, in test_btf_dump_struct_data()
601 TEST_BTF_DUMP_DATA(btf, d, "struct", str, struct list_head, 0, in test_btf_dump_struct_data()
612 ret = btf_dump__dump_type_data(d, type_id, fops, type_sz, &opts); in test_btf_dump_struct_data()
624 TEST_BTF_DUMP_DATA(btf, d, "struct", str, struct bpf_prog_info, BTF_F_COMPACT, in test_btf_dump_struct_data()
627 TEST_BTF_DUMP_DATA(btf, d, "struct", str, struct bpf_prog_info, in test_btf_dump_struct_data()
631 TEST_BTF_DUMP_DATA(btf, d, "struct", str, struct bpf_prog_info, 0, in test_btf_dump_struct_data()
641 TEST_BTF_DUMP_DATA(btf, d, "struct", str, struct bpf_prog_info, BTF_F_COMPACT, in test_btf_dump_struct_data()
645 TEST_BTF_DUMP_DATA(btf, d, "struct", str, struct bpf_prog_info, BTF_F_COMPACT, in test_btf_dump_struct_data()
646 "(struct bpf_prog_info){.name = (char[16])[1,2,3,],}", in test_btf_dump_struct_data()
647 { .name = {1, 2, 3, 0}}); in test_btf_dump_struct_data()
650 TEST_BTF_DUMP_DATA(btf, d, "struct", str, struct __sk_buff, BTF_F_COMPACT, in test_btf_dump_struct_data()
651 "(struct __sk_buff){.cb = (__u32[5])[1,2,3,4,5,],}", in test_btf_dump_struct_data()
652 { .cb = {1, 2, 3, 4, 5,},}); in test_btf_dump_struct_data()
653 TEST_BTF_DUMP_DATA(btf, d, "struct", str, struct __sk_buff, in test_btf_dump_struct_data()
655 "{[1,2,3,4,5,],}", in test_btf_dump_struct_data()
656 { .cb = { 1, 2, 3, 4, 5},}); in test_btf_dump_struct_data()
657 TEST_BTF_DUMP_DATA(btf, d, "struct", str, struct __sk_buff, 0, in test_btf_dump_struct_data()
660 " 1,\n" in test_btf_dump_struct_data()
667 { .cb = { 1, 2, 3, 4, 5},}); in test_btf_dump_struct_data()
669 TEST_BTF_DUMP_DATA(btf, d, "struct", str, struct __sk_buff, BTF_F_COMPACT, in test_btf_dump_struct_data()
670 "(struct __sk_buff){.cb = (__u32[5])[0,0,1,0,0,],}", in test_btf_dump_struct_data()
671 { .cb = { 0, 0, 1, 0, 0},}); in test_btf_dump_struct_data()
672 TEST_BTF_DUMP_DATA(btf, d, "struct", str, struct __sk_buff, 0, in test_btf_dump_struct_data()
677 " 1,\n" in test_btf_dump_struct_data()
682 { .cb = { 0, 0, 1, 0, 0},}); in test_btf_dump_struct_data()
685 TEST_BTF_DUMP_DATA_C(btf, d, "struct", str, struct bpf_insn, BTF_F_COMPACT, in test_btf_dump_struct_data()
686 {.code = (__u8)1,.dst_reg = (__u8)0x2,.src_reg = (__u8)0x3,.off = (__s16)4,.imm = (__s32)5,}); in test_btf_dump_struct_data()
687 TEST_BTF_DUMP_DATA(btf, d, "struct", str, struct bpf_insn, in test_btf_dump_struct_data()
689 "{1,0x2,0x3,4,5,}", in test_btf_dump_struct_data()
690 { .code = 1, .dst_reg = 0x2, .src_reg = 0x3, .off = 4, in test_btf_dump_struct_data()
692 TEST_BTF_DUMP_DATA(btf, d, "struct", str, struct bpf_insn, 0, in test_btf_dump_struct_data()
694 " .code = (__u8)1,\n" in test_btf_dump_struct_data()
700 {.code = 1, .dst_reg = 2, .src_reg = 3, .off = 4, .imm = 5}); in test_btf_dump_struct_data()
703 TEST_BTF_DUMP_DATA(btf, d, "struct", str, struct bpf_insn, BTF_F_COMPACT, in test_btf_dump_struct_data()
705 { .code = 0, .dst_reg = 1}); in test_btf_dump_struct_data()
714 ret = btf_dump__dump_type_data(d, type_id, zero_data, type_sz, &opts); in test_btf_dump_struct_data()
723 TEST_BTF_DUMP_DATA(btf, d, "struct", str, struct bpf_sock_ops, BTF_F_COMPACT, in test_btf_dump_struct_data()
724 …(struct bpf_sock_ops){.op = (__u32)1,(union){.args = (__u32[4])[1,2,3,4,],.reply = (__u32)1,.reply… in test_btf_dump_struct_data()
725 { .op = 1, .args = { 1, 2, 3, 4}}); in test_btf_dump_struct_data()
728 TEST_BTF_DUMP_DATA(btf, d, "union", str, union bpf_iter_link_info, BTF_F_COMPACT, in test_btf_dump_struct_data()
729 "(union bpf_iter_link_info){.map = (struct){.map_fd = (__u32)1,},}", in test_btf_dump_struct_data()
730 { .map = { .map_fd = 1 }}); in test_btf_dump_struct_data()
741 ret = btf_dump__dump_type_data(d, type_id, skb, type_sz, &opts); in test_btf_dump_struct_data()
753 TEST_BTF_DUMP_DATA_OVER(btf, d, "struct", str, struct bpf_sock_ops, in test_btf_dump_struct_data()
754 sizeof(struct bpf_sock_ops) - 1, in test_btf_dump_struct_data()
755 "(struct bpf_sock_ops){\n\t.op = (__u32)1,\n", in test_btf_dump_struct_data()
756 { .op = 1, .skb_tcp_flags = 2}); in test_btf_dump_struct_data()
757 TEST_BTF_DUMP_DATA_OVER(btf, d, "struct", str, struct bpf_sock_ops, in test_btf_dump_struct_data()
758 sizeof(struct bpf_sock_ops) - 1, in test_btf_dump_struct_data()
759 "(struct bpf_sock_ops){\n\t.op = (__u32)1,\n", in test_btf_dump_struct_data()
760 { .op = 1, .skb_tcp_flags = 0}); in test_btf_dump_struct_data()
763 static void test_btf_dump_var_data(struct btf *btf, struct btf_dump *d, in test_btf_dump_var_data() argument
766 TEST_BTF_DUMP_VAR(btf, d, NULL, str, "cpu_number", int, BTF_F_COMPACT, in test_btf_dump_var_data()
768 TEST_BTF_DUMP_VAR(btf, d, NULL, str, "cpu_profile_flip", int, BTF_F_COMPACT, in test_btf_dump_var_data()
772 static void test_btf_datasec(struct btf *btf, struct btf_dump *d, char *str, in test_btf_datasec() argument
791 ret = btf_dump__dump_type_data(d, type_id, data, data_sz, &opts); in test_btf_datasec()
803 struct btf_dump *d; in test_btf_dump_datasec_data() local
808 d = btf_dump__new(btf, NULL, &opts, btf_dump_snprintf); in test_btf_dump_datasec_data()
809 if (!ASSERT_OK_PTR(d, "could not create BTF dump")) in test_btf_dump_datasec_data()
812 test_btf_datasec(btf, d, str, "license", in test_btf_dump_datasec_data()
820 struct btf_dump *d; in test_btf_dump() local
839 d = btf_dump__new(btf, NULL, &opts, btf_dump_snprintf); in test_btf_dump()
840 if (!ASSERT_OK_PTR(d, "could not create BTF dump")) in test_btf_dump()
845 test_btf_dump_int_data(btf, d, str); in test_btf_dump()
847 test_btf_dump_float_data(btf, d, str); in test_btf_dump()
849 test_btf_dump_char_data(btf, d, str); in test_btf_dump()
851 test_btf_dump_typedef_data(btf, d, str); in test_btf_dump()
853 test_btf_dump_enum_data(btf, d, str); in test_btf_dump()
855 test_btf_dump_struct_data(btf, d, str); in test_btf_dump()
857 test_btf_dump_var_data(btf, d, str); in test_btf_dump()
858 btf_dump__free(d); in test_btf_dump()