On Tue, Dec 10, 2019 at 4:26 PM Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxxxxx> wrote: > > On Tue, Dec 10, 2019 at 12:58:33PM -0600, Justin Forbes wrote: > > On Mon, Dec 2, 2019 at 3:37 AM Daniel Borkmann <daniel@xxxxxxxxxxxxx> wrote: > > > > > > On Mon, Dec 02, 2019 at 04:53:26PM +1100, Michael Ellerman wrote: > > > > Aurelien Jarno <aurelien@xxxxxxxxxxx> writes: > > > > > On powerpc with recent versions of binutils, readelf outputs an extra > > > > > field when dumping the symbols of an object file. For example: > > > > > > > > > > 35: 0000000000000838 96 FUNC LOCAL DEFAULT [<localentry>: 8] 1 btf_is_struct > > > > > > > > > > The extra "[<localentry>: 8]" prevents the GLOBAL_SYM_COUNT variable to > > > > > be computed correctly and causes the checkabi target to fail. > > > > > > > > > > Fix that by looking for the symbol name in the last field instead of the > > > > > 8th one. This way it should also cope with future extra fields. > > > > > > > > > > Signed-off-by: Aurelien Jarno <aurelien@xxxxxxxxxxx> > > > > > --- > > > > > tools/lib/bpf/Makefile | 4 ++-- > > > > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > > > > > Thanks for fixing that, it's been on my very long list of test failures > > > > for a while. > > > > > > > > Tested-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> > > > > > > Looks good & also continues to work on x86. Applied, thanks! > > > > This actually seems to break horribly on PPC64le with binutils 2.33.1 > > resulting in: > > Warning: Num of global symbols in sharedobjs/libbpf-in.o (32) does NOT > > match with num of versioned symbols in libbpf.so (184). Please make > > sure all LIBBPF_API symbols are versioned in libbpf.map. > > > > This is the only arch that fails, with x86/arm/aarch64/s390 all > > building fine. Reverting this patch allows successful build across > > all arches. > > > > Justin > > Well, I ended up debugging this same issue and had the same fix as Jarno's when > I noticed his fix was already applied. > > I just installed a system with the latest binutils, 2.33.1, and it still breaks > without such fix. Can you tell what is the output of the following command on > your system? > > readelf -s --wide tools/lib/bpf/sharedobjs/libbpf-in.o | cut -d "@" -f1 | sed 's/_v[0-9]_[0-9]_[0-9].*//' | awk '/GLOBAL/ && /DEFAULT/ && !/UND/ {print $0}' > readelf -s --wide tools/lib/bpf/sharedobjs/libbpf-in.o | cut -d "@" -f1 | sed 's/_v[0-9]_[0-9]_[0-9].*//' | awk '/GLOBAL/ && /DEFAULT/ && !/UND/ {print $0}' 373: 00000000000141bc 1376 FUNC GLOBAL DEFAULT 1 libbpf_num_possible_cpus [<localentry>: 8] 375: 000000000001869c 176 FUNC GLOBAL DEFAULT 1 btf__free [<localentry>: 8] 377: 000000000001093c 84 FUNC GLOBAL DEFAULT 1 bpf_object__find_map_by_offset [<localentry>: 8] 378: 0000000000016288 100 FUNC GLOBAL DEFAULT 1 bpf_prog_get_next_id [<localentry>: 8] 379: 00000000000103c0 104 FUNC GLOBAL DEFAULT 1 bpf_map__priv [<localentry>: 8] 380: 000000000000e158 180 FUNC GLOBAL DEFAULT 1 bpf_object__pin [<localentry>: 8] 381: 00000000000102f8 200 FUNC GLOBAL DEFAULT 1 bpf_map__set_priv [<localentry>: 8] 382: 000000000001874c 380 FUNC GLOBAL DEFAULT 1 btf__new [<localentry>: 8] 384: 000000000002238c 1372 FUNC GLOBAL DEFAULT 1 xsk_umem__create 385: 00000000000106fc 116 FUNC GLOBAL DEFAULT 1 bpf_map__next [<localentry>: 8] 387: 00000000000162ec 100 FUNC GLOBAL DEFAULT 1 bpf_map_get_next_id [<localentry>: 8] 389: 000000000000f574 84 FUNC GLOBAL DEFAULT 1 bpf_program__is_xdp [<localentry>: 8] 390: 0000000000011e14 392 FUNC GLOBAL DEFAULT 1 bpf_program__attach_tracepoint [<localentry>: 8] 391: 0000000000016534 196 FUNC GLOBAL DEFAULT 1 bpf_obj_get_info_by_fd [<localentry>: 8] 392: 000000000000cf64 324 FUNC GLOBAL DEFAULT 1 bpf_program__unpin_instance [<localentry>: 8] 393: 000000000000d818 456 FUNC GLOBAL DEFAULT 1 bpf_map__unpin [<localentry>: 8] 395: 000000000000efe0 64 FUNC GLOBAL DEFAULT 1 bpf_program__set_type 396: 0000000000010e94 696 FUNC GLOBAL DEFAULT 1 bpf_program__attach_perf_event [<localentry>: 8] 397: 000000000001a774 136 FUNC GLOBAL DEFAULT 1 btf_ext__reloc_func_info [<localentry>: 8] 398: 0000000000014bc8 236 FUNC GLOBAL DEFAULT 1 bpf_create_map_name [<localentry>: 8] 402: 00000000000228e8 160 FUNC GLOBAL DEFAULT 1 xsk_umem__create 403: 0000000000021f1c 72 FUNC GLOBAL DEFAULT 1 xsk_socket__fd 404: 000000000001a8ec 536 FUNC GLOBAL DEFAULT 1 btf__dedup [<localentry>: 8] 405: 000000000000eadc 180 FUNC GLOBAL DEFAULT 1 bpf_program__set_priv [<localentry>: 8] 409: 000000000000c540 144 FUNC GLOBAL DEFAULT 1 bpf_object__open_file [<localentry>: 8] 410: 00000000000121a8 416 FUNC GLOBAL DEFAULT 1 bpf_program__attach_trace [<localentry>: 8] 415: 000000000000d51c 764 FUNC GLOBAL DEFAULT 1 bpf_map__pin [<localentry>: 8] 416: 00000000000154d0 212 FUNC GLOBAL DEFAULT 1 bpf_load_program [<localentry>: 8] 418: 0000000000010810 192 FUNC GLOBAL DEFAULT 1 bpf_object__find_map_by_name [<localentry>: 8] 420: 0000000000012348 580 FUNC GLOBAL DEFAULT 1 bpf_perf_event_read_simple [<localentry>: 8] 421: 00000000000191e8 220 FUNC GLOBAL DEFAULT 1 btf__finalize_data [<localentry>: 8] 422: 0000000000010a80 724 FUNC GLOBAL DEFAULT 1 bpf_prog_load_xattr [<localentry>: 8] 423: 000000000000f688 108 FUNC GLOBAL DEFAULT 1 bpf_program__set_tracing [<localentry>: 8] 424: 0000000000018560 316 FUNC GLOBAL DEFAULT 1 btf__find_by_name_kind [<localentry>: 8] 426: 00000000000163b4 128 FUNC GLOBAL DEFAULT 1 bpf_prog_get_fd_by_id [<localentry>: 8] 427: 000000000001a884 52 FUNC GLOBAL DEFAULT 1 btf_ext__func_info_rec_size 428: 0000000000025654 480 FUNC GLOBAL DEFAULT 1 btf_dump__new [<localentry>: 8] 429: 0000000000010770 160 FUNC GLOBAL DEFAULT 1 bpf_map__prev [<localentry>: 8] 431: 0000000000011968 504 FUNC GLOBAL DEFAULT 1 bpf_program__attach_uprobe [<localentry>: 8] 432: 00000000000011ac 416 FUNC GLOBAL DEFAULT 1 bpf_program__unload [<localentry>: 8] 433: 000000000000ea50 140 FUNC GLOBAL DEFAULT 1 bpf_program__prev [<localentry>: 8] 434: 00000000000149cc 280 FUNC GLOBAL DEFAULT 1 bpf_create_map_node [<localentry>: 8] 435: 000000000001a28c 116 FUNC GLOBAL DEFAULT 1 btf_ext__free [<localentry>: 8] 436: 000000000001668c 420 FUNC GLOBAL DEFAULT 1 bpf_load_btf [<localentry>: 8] 438: 0000000000013988 1564 FUNC GLOBAL DEFAULT 1 bpf_program__get_prog_info_linear [<localentry>: 8] 439: 000000000000e034 292 FUNC GLOBAL DEFAULT 1 bpf_object__unpin_programs [<localentry>: 8] 440: 000000000000ece0 88 FUNC GLOBAL DEFAULT 1 bpf_program__fd [<localentry>: 8] 441: 000000000000f634 84 FUNC GLOBAL DEFAULT 1 bpf_program__is_perf_event [<localentry>: 8] 442: 0000000000021094 304 FUNC GLOBAL DEFAULT 1 bpf_prog_linfo__lfind 444: 000000000000c764 324 FUNC GLOBAL DEFAULT 1 bpf_object__unload [<localentry>: 8] 449: 0000000000019558 692 FUNC GLOBAL DEFAULT 1 btf__get_from_id [<localentry>: 8] 453: 000000000000f088 108 FUNC GLOBAL DEFAULT 1 bpf_program__set_socket_filter [<localentry>: 8] 454: 0000000000015b24 148 FUNC GLOBAL DEFAULT 1 bpf_obj_pin [<localentry>: 8] 456: 0000000000014cb4 336 FUNC GLOBAL DEFAULT 1 bpf_create_map_in_map_node [<localentry>: 8] 457: 0000000000015bb8 132 FUNC GLOBAL DEFAULT 1 bpf_obj_get [<localentry>: 8] 458: 0000000000024050 436 FUNC GLOBAL DEFAULT 1 xsk_socket__delete [<localentry>: 8] 459: 000000000000106c 88 FUNC GLOBAL DEFAULT 1 libbpf_set_print [<localentry>: 8] 460: 000000000000f1b4 84 FUNC GLOBAL DEFAULT 1 bpf_program__is_kprobe [<localentry>: 8] 461: 0000000000012c6c 244 FUNC GLOBAL DEFAULT 1 perf_buffer__new_raw [<localentry>: 8] 462: 000000000000e74c 180 FUNC GLOBAL DEFAULT 1 bpf_object__set_priv [<localentry>: 8] 463: 000000000001046c 68 FUNC GLOBAL DEFAULT 1 bpf_map__is_internal 464: 000000000000e20c 828 FUNC GLOBAL DEFAULT 1 bpf_object__close [<localentry>: 8] 466: 0000000000010220 72 FUNC GLOBAL DEFAULT 1 bpf_map__name 467: 0000000000013fa4 268 FUNC GLOBAL DEFAULT 1 bpf_program__bpil_addr_to_offs [<localentry>: 8] 468: 000000000001f880 684 FUNC GLOBAL DEFAULT 1 bpf_set_link_xdp_fd [<localentry>: 8] 469: 000000000000f6f4 84 FUNC GLOBAL DEFAULT 1 bpf_program__is_tracing [<localentry>: 8] 470: 000000000000dce4 348 FUNC GLOBAL DEFAULT 1 bpf_object__unpin_maps [<localentry>: 8] 471: 000000000000efac 52 FUNC GLOBAL DEFAULT 1 bpf_program__get_type 472: 00000000000259a4 548 FUNC GLOBAL DEFAULT 1 btf_dump__dump_type [<localentry>: 8] 476: 0000000000018458 264 FUNC GLOBAL DEFAULT 1 btf__find_by_name [<localentry>: 8] 477: 000000000000dad0 52 FUNC GLOBAL DEFAULT 1 bpf_map__is_pinned 478: 000000000000f748 52 FUNC GLOBAL DEFAULT 1 bpf_program__get_expected_attach_type 479: 00000000000104f0 196 FUNC GLOBAL DEFAULT 1 bpf_map__set_inner_map_fd [<localentry>: 8] 480: 0000000000021ed4 72 FUNC GLOBAL DEFAULT 1 xsk_umem__fd 481: 00000000000101b8 104 FUNC GLOBAL DEFAULT 1 bpf_map__def [<localentry>: 8] 482: 0000000000015c3c 188 FUNC GLOBAL DEFAULT 1 bpf_prog_attach [<localentry>: 8] 483: 000000000000e6d8 116 FUNC GLOBAL DEFAULT 1 bpf_object__btf_fd [<localentry>: 8] 485: 000000000000db04 480 FUNC GLOBAL DEFAULT 1 bpf_object__pin_maps [<localentry>: 8] 487: 0000000000020bd0 772 FUNC GLOBAL DEFAULT 1 bpf_prog_linfo__new [<localentry>: 8] 488: 0000000000016050 388 FUNC GLOBAL DEFAULT 1 bpf_prog_test_run_xattr [<localentry>: 8] 490: 000000000001a8b8 52 FUNC GLOBAL DEFAULT 1 btf_ext__line_info_rec_size 492: 0000000000015aa4 128 FUNC GLOBAL DEFAULT 1 bpf_map_freeze [<localentry>: 8] 493: 00000000000194ac 72 FUNC GLOBAL DEFAULT 1 btf__get_raw_data 494: 000000000000ed70 300 FUNC GLOBAL DEFAULT 1 bpf_program__set_prep [<localentry>: 8] 497: 0000000000014e04 156 FUNC GLOBAL DEFAULT 1 bpf_create_map_in_map [<localentry>: 8] 501: 0000000000014ae4 228 FUNC GLOBAL DEFAULT 1 bpf_create_map [<localentry>: 8] 502: 000000000000f77c 64 FUNC GLOBAL DEFAULT 1 bpf_program__set_expected_attach_type 503: 000000000000f388 108 FUNC GLOBAL DEFAULT 1 bpf_program__set_tracepoint [<localentry>: 8] 504: 0000000000010428 68 FUNC GLOBAL DEFAULT 1 bpf_map__is_offload_neutral 505: 00000000000159fc 168 FUNC GLOBAL DEFAULT 1 bpf_map_get_next_key [<localentry>: 8] 506: 0000000000018328 304 FUNC GLOBAL DEFAULT 1 btf__resolve_type [<localentry>: 8] 507: 00000000000108d0 108 FUNC GLOBAL DEFAULT 1 bpf_object__find_map_fd_by_name [<localentry>: 8] 508: 000000000001580c 180 FUNC GLOBAL DEFAULT 1 bpf_map_lookup_elem_flags [<localentry>: 8] 511: 000000000000c4d8 104 FUNC GLOBAL DEFAULT 1 bpf_object__open [<localentry>: 8] 513: 000000000000f274 84 FUNC GLOBAL DEFAULT 1 bpf_program__is_sched_cls [<localentry>: 8] 514: 000000000001a4e0 72 FUNC GLOBAL DEFAULT 1 btf_ext__get_raw_data 515: 000000000000e5e4 100 FUNC GLOBAL DEFAULT 1 bpf_object__name [<localentry>: 8] 516: 00000000000158c0 168 FUNC GLOBAL DEFAULT 1 bpf_map_lookup_and_delete_elem [<localentry>: 8] 518: 00000000000228e8 160 FUNC GLOBAL DEFAULT 1 xsk_umem__create 520: 000000000002238c 1372 FUNC GLOBAL DEFAULT 1 xsk_umem__create 522: 000000000000e800 104 FUNC GLOBAL DEFAULT 1 bpf_object__priv [<localentry>: 8] 523: 00000000000066c8 728 FUNC GLOBAL DEFAULT 1 bpf_map__reuse_fd [<localentry>: 8] 524: 000000000000da9c 52 FUNC GLOBAL DEFAULT 1 bpf_map__get_pin_path 525: 000000000000ffe8 392 FUNC GLOBAL DEFAULT 1 libbpf_attach_type_by_name [<localentry>: 8] 526: 000000000000e648 72 FUNC GLOBAL DEFAULT 1 bpf_object__kversion 527: 000000000000d330 492 FUNC GLOBAL DEFAULT 1 bpf_program__unpin [<localentry>: 8] 529: 00000000000126ac 336 FUNC GLOBAL DEFAULT 1 perf_buffer__free [<localentry>: 8] 532: 0000000000014fd8 1272 FUNC GLOBAL DEFAULT 1 bpf_load_program_xattr [<localentry>: 8] 533: 00000000000165f8 148 FUNC GLOBAL DEFAULT 1 bpf_raw_tracepoint_open [<localentry>: 8] 535: 000000000000c8a8 504 FUNC GLOBAL DEFAULT 1 bpf_object__load_xattr [<localentry>: 8] 537: 0000000000015e34 248 FUNC GLOBAL DEFAULT 1 bpf_prog_query [<localentry>: 8] 542: 000000000001a7fc 136 FUNC GLOBAL DEFAULT 1 btf_ext__reloc_line_info [<localentry>: 8] 543: 000000000000e9c4 140 FUNC GLOBAL DEFAULT 1 bpf_program__next [<localentry>: 8] 544: 0000000000019478 52 FUNC GLOBAL DEFAULT 1 btf__fd 545: 0000000000017f80 104 FUNC GLOBAL DEFAULT 1 btf__type_by_id 546: 000000000000c65c 264 FUNC GLOBAL DEFAULT 1 bpf_object__open_buffer [<localentry>: 8] 548: 0000000000015d8c 168 FUNC GLOBAL DEFAULT 1 bpf_prog_detach2 [<localentry>: 8] 549: 000000000000fadc 424 FUNC GLOBAL DEFAULT 1 libbpf_find_vmlinux_btf_id [<localentry>: 8] 550: 0000000000010170 72 FUNC GLOBAL DEFAULT 1 bpf_map__fd 552: 0000000000010990 80 FUNC GLOBAL DEFAULT 1 libbpf_get_error [<localentry>: 8] 554: 000000000000caa0 120 FUNC GLOBAL DEFAULT 1 bpf_object__load [<localentry>: 8] 556: 0000000000021960 848 FUNC GLOBAL DEFAULT 1 bpf_probe_map_type [<localentry>: 8] 557: 00000000000237a0 1912 FUNC GLOBAL DEFAULT 1 xsk_socket__create [<localentry>: 8] 559: 000000000000f960 380 FUNC GLOBAL DEFAULT 1 libbpf_prog_type_by_name [<localentry>: 8] 560: 0000000000005b14 192 FUNC GLOBAL DEFAULT 1 bpf_object__find_program_by_title [<localentry>: 8] 563: 000000000000f5c8 108 FUNC GLOBAL DEFAULT 1 bpf_program__set_perf_event [<localentry>: 8] 564: 000000000000ed38 56 FUNC GLOBAL DEFAULT 1 bpf_program__size 565: 000000000000f334 84 FUNC GLOBAL DEFAULT 1 bpf_program__is_sched_act [<localentry>: 8] 566: 00000000000156b0 180 FUNC GLOBAL DEFAULT 1 bpf_map_update_elem [<localentry>: 8] 568: 000000000000f4b4 84 FUNC GLOBAL DEFAULT 1 bpf_program__is_raw_tracepoint [<localentry>: 8] 569: 000000000001890c 1468 FUNC GLOBAL DEFAULT 1 btf__parse_elf [<localentry>: 8] 570: 000000000000e690 72 FUNC GLOBAL DEFAULT 1 bpf_object__btf 571: 000000000000f448 108 FUNC GLOBAL DEFAULT 1 bpf_program__set_raw_tracepoint [<localentry>: 8] 578: 000000000000f2c8 108 FUNC GLOBAL DEFAULT 1 bpf_program__set_sched_act [<localentry>: 8] 579: 0000000000025834 368 FUNC GLOBAL DEFAULT 1 btf_dump__free [<localentry>: 8] 580: 000000000000f3f4 84 FUNC GLOBAL DEFAULT 1 bpf_program__is_tracepoint [<localentry>: 8] 581: 0000000000020ed4 448 FUNC GLOBAL DEFAULT 1 bpf_prog_linfo__lfind_addr_func 582: 00000000000164b4 128 FUNC GLOBAL DEFAULT 1 bpf_btf_get_fd_by_id [<localentry>: 8] 583: 00000000000192c4 436 FUNC GLOBAL DEFAULT 1 btf__load [<localentry>: 8] 584: 000000000000f508 108 FUNC GLOBAL DEFAULT 1 bpf_program__set_xdp [<localentry>: 8] 587: 0000000000016830 372 FUNC GLOBAL DEFAULT 1 bpf_task_fd_query [<localentry>: 8] 591: 0000000000015cf8 148 FUNC GLOBAL DEFAULT 1 bpf_prog_detach [<localentry>: 8] 593: 000000000000c5d0 140 FUNC GLOBAL DEFAULT 1 bpf_object__open_mem [<localentry>: 8] 594: 0000000000015968 148 FUNC GLOBAL DEFAULT 1 bpf_map_delete_elem [<localentry>: 8] 595: 0000000000021cb0 548 FUNC GLOBAL DEFAULT 1 bpf_probe_helper [<localentry>: 8] 596: 0000000000011784 484 FUNC GLOBAL DEFAULT 1 bpf_program__attach_kprobe [<localentry>: 8] 597: 00000000000069a0 124 FUNC GLOBAL DEFAULT 1 bpf_map__resize 599: 0000000000020b20 176 FUNC GLOBAL DEFAULT 1 bpf_prog_linfo__free [<localentry>: 8] 601: 000000000000ee9c 272 FUNC GLOBAL DEFAULT 1 bpf_program__nth_fd [<localentry>: 8] 602: 0000000000010d54 144 FUNC GLOBAL DEFAULT 1 bpf_link__destroy [<localentry>: 8] 604: 00000000000102b0 72 FUNC GLOBAL DEFAULT 1 bpf_map__btf_value_type_id 606: 0000000000020070 184 FUNC GLOBAL DEFAULT 1 bpf_get_link_xdp_id [<localentry>: 8] 608: 000000000000d0a8 648 FUNC GLOBAL DEFAULT 1 bpf_program__pin [<localentry>: 8] 609: 000000000001f100 380 FUNC GLOBAL DEFAULT 1 libbpf_strerror [<localentry>: 8] 610: 00000000000104b0 64 FUNC GLOBAL DEFAULT 1 bpf_map__set_ifindex 611: 000000000000de40 500 FUNC GLOBAL DEFAULT 1 bpf_object__pin_programs [<localentry>: 8] 612: 000000000001fde0 476 FUNC GLOBAL DEFAULT 1 bpf_get_link_xdp_info [<localentry>: 8] 613: 0000000000015764 168 FUNC GLOBAL DEFAULT 1 bpf_map_lookup_elem [<localentry>: 8] 614: 000000000000d9e0 188 FUNC GLOBAL DEFAULT 1 bpf_map__set_pin_path [<localentry>: 8] 616: 0000000000012000 424 FUNC GLOBAL DEFAULT 1 bpf_program__attach_raw_tracepoint [<localentry>: 8] 617: 0000000000023f18 312 FUNC GLOBAL DEFAULT 1 xsk_umem__delete [<localentry>: 8] 618: 000000000000eb90 104 FUNC GLOBAL DEFAULT 1 bpf_program__priv [<localentry>: 8] 619: 00000000000180e0 584 FUNC GLOBAL DEFAULT 1 btf__resolve_size [<localentry>: 8] 620: 00000000000155a4 268 FUNC GLOBAL DEFAULT 1 bpf_verify_program [<localentry>: 8] 621: 000000000000b8ec 1000 FUNC GLOBAL DEFAULT 1 bpf_program__load [<localentry>: 8] 623: 00000000000194f4 100 FUNC GLOBAL DEFAULT 1 btf__name_by_offset 624: 000000000000f148 108 FUNC GLOBAL DEFAULT 1 bpf_program__set_kprobe [<localentry>: 8] 625: 00000000000140b0 268 FUNC GLOBAL DEFAULT 1 bpf_program__bpil_offs_to_addr [<localentry>: 8] 626: 0000000000016434 128 FUNC GLOBAL DEFAULT 1 bpf_map_get_fd_by_id [<localentry>: 8] 627: 0000000000017f4c 52 FUNC GLOBAL DEFAULT 1 btf__get_nr_types 628: 00000000000215c0 340 FUNC GLOBAL DEFAULT 1 bpf_probe_prog_type [<localentry>: 8] 632: 000000000000c484 84 FUNC GLOBAL DEFAULT 1 bpf_object__open_xattr [<localentry>: 8] 633: 000000000000cda8 444 FUNC GLOBAL DEFAULT 1 bpf_program__pin_instance [<localentry>: 8] 635: 00000000000109e0 160 FUNC GLOBAL DEFAULT 1 bpf_prog_load [<localentry>: 8] 637: 0000000000015f2c 292 FUNC GLOBAL DEFAULT 1 bpf_prog_test_run [<localentry>: 8] 638: 00000000000136a4 312 FUNC GLOBAL DEFAULT 1 perf_buffer__poll [<localentry>: 8] 640: 0000000000010268 72 FUNC GLOBAL DEFAULT 1 bpf_map__btf_key_type_id 641: 000000000000f0f4 84 FUNC GLOBAL DEFAULT 1 bpf_program__is_socket_filter [<localentry>: 8] 643: 000000000001980c 968 FUNC GLOBAL DEFAULT 1 btf__get_map_kv_tids [<localentry>: 8] 645: 000000000001a300 480 FUNC GLOBAL DEFAULT 1 btf_ext__new [<localentry>: 8] 647: 0000000000012ab8 436 FUNC GLOBAL DEFAULT 1 perf_buffer__new [<localentry>: 8] 648: 000000000000f208 108 FUNC GLOBAL DEFAULT 1 bpf_program__set_sched_cls [<localentry>: 8] 649: 000000000000ec38 168 FUNC GLOBAL DEFAULT 1 bpf_program__title [<localentry>: 8] 650: 0000000000016350 100 FUNC GLOBAL DEFAULT 1 bpf_btf_get_next_id [<localentry>: 8] 653: 000000000001485c 368 FUNC GLOBAL DEFAULT 1 bpf_create_map_xattr [<localentry>: 8] 656: 000000000000e548 156 FUNC GLOBAL DEFAULT 1 bpf_object__next [<localentry>: 8] 657: 000000000000ebf8 64 FUNC GLOBAL DEFAULT 1 bpf_program__set_ifindex