public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/106773] New: libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops'
@ 2022-08-29 22:07 james.hilliard1 at gmail dot com
  2022-09-01 20:31 ` [Bug target/106773] " james.hilliard1 at gmail dot com
                   ` (19 more replies)
  0 siblings, 20 replies; 21+ messages in thread
From: james.hilliard1 at gmail dot com @ 2022-08-29 22:07 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106773

            Bug ID: 106773
           Summary: libbpf: failed to find BTF info for global/extern
                    symbol 'bpf_link_fops'
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: james.hilliard1 at gmail dot com
  Target Milestone: ---

GCC BTF Generation appears to not be working correctly for bpf_link_fops in the
bpf test test_ksyms.c

See:
https://github.com/torvalds/linux/blob/v6.0-rc3/tools/testing/selftests/bpf/progs/test_ksyms.c

GCC gen object failure:
$ /home/buildroot/bpf-next-test/tools/testing/selftests/bpf/tools/sbin/bpftool
--debug gen object
/home/buildroot/bpf-next-test/tools/testing/selftests/bpf/bpf_gcc/test_ksyms.linked1.o
/home/buildroot/bpf-next-test/tools/testing/selftests/bpf/bpf_gcc/test_ksyms.o
libbpf: linker: adding object file
'/home/buildroot/bpf-next-test/tools/testing/selftests/bpf/bpf_gcc/test_ksyms.o'...
libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops'
Error: failed to link
'/home/buildroot/bpf-next-test/tools/testing/selftests/bpf/bpf_gcc/test_ksyms.o':
Unknown error -2 (-2)

GCC BTF dump:
$ /home/buildroot/bpf-next-test/tools/testing/selftests/bpf/tools/sbin/bpftool
--debug btf dump file
/home/buildroot/bpf-next-test/tools/testing/selftests/bpf/bpf_gcc/test_ksyms.o
format raw
[1] INT 'signed char' size=1 bits_offset=0 nr_bits=8 encoding=SIGNED
[2] INT 'unsigned char' size=1 bits_offset=0 nr_bits=8 encoding=(none)
[3] TYPEDEF '__u8' type_id=2
[4] INT 'short int' size=2 bits_offset=0 nr_bits=16 encoding=SIGNED
[5] INT 'short unsigned int' size=2 bits_offset=0 nr_bits=16 encoding=(none)
[6] TYPEDEF '__u16' type_id=5
[7] INT 'int' size=4 bits_offset=0 nr_bits=32 encoding=SIGNED
[8] TYPEDEF '__s32' type_id=7
[9] INT 'unsigned int' size=4 bits_offset=0 nr_bits=32 encoding=(none)
[10] TYPEDEF '__u32' type_id=9
[11] INT 'long long int' size=8 bits_offset=0 nr_bits=64 encoding=SIGNED
[12] TYPEDEF '__s64' type_id=11
[13] INT 'long long unsigned int' size=8 bits_offset=0 nr_bits=64
encoding=(none)
[14] TYPEDEF '__u64' type_id=13
[15] TYPEDEF '__be16' type_id=6
[16] TYPEDEF '__be32' type_id=10
[17] TYPEDEF '__wsum' type_id=10
[18] INT 'long unsigned int' size=8 bits_offset=0 nr_bits=64 encoding=(none)
[19] INT 'char' size=1 bits_offset=0 nr_bits=8 encoding=SIGNED
[20] CONST '(anon)' type_id=19
[21] UNION '(anon)' size=8 vlen=1
        'flow_keys' type_id=27 bits_offset=0
[22] STRUCT 'bpf_flow_keys' size=56 vlen=13
        'nhoff' type_id=6 bits_offset=0
        'thoff' type_id=6 bits_offset=16
        'addr_proto' type_id=6 bits_offset=32
        'is_frag' type_id=3 bits_offset=48
        'is_first_frag' type_id=3 bits_offset=56
        'is_encap' type_id=3 bits_offset=64
        'ip_proto' type_id=3 bits_offset=72
        'n_proto' type_id=15 bits_offset=80
        'sport' type_id=15 bits_offset=96
        'dport' type_id=15 bits_offset=112
        '(anon)' type_id=23 bits_offset=128
        'flags' type_id=10 bits_offset=384
        'flow_label' type_id=16 bits_offset=416
[23] UNION '(anon)' size=32 vlen=2
        '(anon)' type_id=24 bits_offset=0
        '(anon)' type_id=25 bits_offset=0
[24] STRUCT '(anon)' size=8 vlen=2
        'ipv4_src' type_id=16 bits_offset=0
        'ipv4_dst' type_id=16 bits_offset=32
[25] STRUCT '(anon)' size=32 vlen=2
        'ipv6_src' type_id=26 bits_offset=0
        'ipv6_dst' type_id=26 bits_offset=128
[26] ARRAY '(anon)' type_id=10 index_type_id=18 nr_elems=4
[27] PTR '(anon)' type_id=22
[28] UNION '(anon)' size=8 vlen=1
        'sk' type_id=30 bits_offset=0
[29] STRUCT 'bpf_sock' size=80 vlen=14
        'bound_dev_if' type_id=10 bits_offset=0
        'family' type_id=10 bits_offset=32
        'type' type_id=10 bits_offset=64
        'protocol' type_id=10 bits_offset=96
        'mark' type_id=10 bits_offset=128
        'priority' type_id=10 bits_offset=160
        'src_ip4' type_id=10 bits_offset=192
        'src_ip6' type_id=26 bits_offset=224
        'src_port' type_id=10 bits_offset=352
        'dst_port' type_id=15 bits_offset=384
        'dst_ip4' type_id=10 bits_offset=416
        'dst_ip6' type_id=26 bits_offset=448
        'state' type_id=10 bits_offset=576
        'rx_queue_mapping' type_id=8 bits_offset=608
[30] PTR '(anon)' type_id=29
[31] STRUCT '__sk_buff' size=192 vlen=34
        'len' type_id=10 bits_offset=0
        'pkt_type' type_id=10 bits_offset=32
        'mark' type_id=10 bits_offset=64
        'queue_mapping' type_id=10 bits_offset=96
        'protocol' type_id=10 bits_offset=128
        'vlan_present' type_id=10 bits_offset=160
        'vlan_tci' type_id=10 bits_offset=192
        'vlan_proto' type_id=10 bits_offset=224
        'priority' type_id=10 bits_offset=256
        'ingress_ifindex' type_id=10 bits_offset=288
        'ifindex' type_id=10 bits_offset=320
        'tc_index' type_id=10 bits_offset=352
        'cb' type_id=32 bits_offset=384
        'hash' type_id=10 bits_offset=544
        'tc_classid' type_id=10 bits_offset=576
        'data' type_id=10 bits_offset=608
        'data_end' type_id=10 bits_offset=640
        'napi_id' type_id=10 bits_offset=672
        'family' type_id=10 bits_offset=704
        'remote_ip4' type_id=10 bits_offset=736
        'local_ip4' type_id=10 bits_offset=768
        'remote_ip6' type_id=26 bits_offset=800
        'local_ip6' type_id=26 bits_offset=928
        'remote_port' type_id=10 bits_offset=1056
        'local_port' type_id=10 bits_offset=1088
        'data_meta' type_id=10 bits_offset=1120
        '(anon)' type_id=21 bits_offset=1152
        'tstamp' type_id=14 bits_offset=1216
        'wire_len' type_id=10 bits_offset=1280
        'gso_segs' type_id=10 bits_offset=1312
        '(anon)' type_id=28 bits_offset=1344
        'gso_size' type_id=10 bits_offset=1408
        'tstamp_type' type_id=3 bits_offset=1440
        'hwtstamp' type_id=14 bits_offset=1472
[32] ARRAY '(anon)' type_id=10 index_type_id=18 nr_elems=5
[33] UNION '(anon)' size=16 vlen=2
        'remote_ipv4' type_id=10 bits_offset=0
        'remote_ipv6' type_id=26 bits_offset=0
[34] UNION '(anon)' size=16 vlen=2
        'local_ipv4' type_id=10 bits_offset=0
        'local_ipv6' type_id=26 bits_offset=0
[35] STRUCT 'bpf_tunnel_key' size=44 vlen=7
        'tunnel_id' type_id=10 bits_offset=0
        '(anon)' type_id=33 bits_offset=32
        'tunnel_tos' type_id=3 bits_offset=160
        'tunnel_ttl' type_id=3 bits_offset=168
        'tunnel_ext' type_id=6 bits_offset=176
        'tunnel_label' type_id=10 bits_offset=192
        '(anon)' type_id=34 bits_offset=224
[36] UNION '(anon)' size=16 vlen=2
        'remote_ipv4' type_id=10 bits_offset=0
        'remote_ipv6' type_id=26 bits_offset=0
[37] STRUCT 'bpf_xfrm_state' size=28 vlen=5
        'reqid' type_id=10 bits_offset=0
        'spi' type_id=10 bits_offset=32
        'family' type_id=6 bits_offset=64
        'ext' type_id=6 bits_offset=80
        '(anon)' type_id=36 bits_offset=96
[38] STRUCT 'bpf_tcp_sock' size=112 vlen=26
        'snd_cwnd' type_id=10 bits_offset=0
        'srtt_us' type_id=10 bits_offset=32
        'rtt_min' type_id=10 bits_offset=64
        'snd_ssthresh' type_id=10 bits_offset=96
        'rcv_nxt' type_id=10 bits_offset=128
        'snd_nxt' type_id=10 bits_offset=160
        'snd_una' type_id=10 bits_offset=192
        'mss_cache' type_id=10 bits_offset=224
        'ecn_flags' type_id=10 bits_offset=256
        'rate_delivered' type_id=10 bits_offset=288
        'rate_interval_us' type_id=10 bits_offset=320
        'packets_out' type_id=10 bits_offset=352
        'retrans_out' type_id=10 bits_offset=384
        'total_retrans' type_id=10 bits_offset=416
        'segs_in' type_id=10 bits_offset=448
        'data_segs_in' type_id=10 bits_offset=480
        'segs_out' type_id=10 bits_offset=512
        'data_segs_out' type_id=10 bits_offset=544
        'lost_out' type_id=10 bits_offset=576
        'sacked_out' type_id=10 bits_offset=608
        'bytes_received' type_id=14 bits_offset=640
        'bytes_acked' type_id=14 bits_offset=704
        'dsack_dups' type_id=10 bits_offset=768
        'delivered' type_id=10 bits_offset=800
        'delivered_ce' type_id=10 bits_offset=832
        'icsk_retransmits' type_id=10 bits_offset=864
[39] STRUCT '(anon)' size=12 vlen=4
        'saddr' type_id=16 bits_offset=0
        'daddr' type_id=16 bits_offset=32
        'sport' type_id=15 bits_offset=64
        'dport' type_id=15 bits_offset=80
[40] STRUCT '(anon)' size=36 vlen=4
        'saddr' type_id=41 bits_offset=0
        'daddr' type_id=41 bits_offset=128
        'sport' type_id=15 bits_offset=256
        'dport' type_id=15 bits_offset=272
[41] ARRAY '(anon)' type_id=16 index_type_id=18 nr_elems=4
[42] UNION '(anon)' size=36 vlen=2
        'ipv4' type_id=39 bits_offset=0
        'ipv6' type_id=40 bits_offset=0
[43] STRUCT 'bpf_sock_tuple' size=36 vlen=1
        '(anon)' type_id=42 bits_offset=0
[44] STRUCT 'xdp_md' size=24 vlen=6
        'data' type_id=10 bits_offset=0
        'data_end' type_id=10 bits_offset=32
        'data_meta' type_id=10 bits_offset=64
        'ingress_ifindex' type_id=10 bits_offset=96
        'rx_queue_index' type_id=10 bits_offset=128
        'egress_ifindex' type_id=10 bits_offset=160
[45] UNION '(anon)' size=8 vlen=1
        'data' type_id=46 bits_offset=0
[46] PTR '(anon)' type_id=0
[47] UNION '(anon)' size=8 vlen=1
        'data_end' type_id=46 bits_offset=0
[48] UNION '(anon)' size=8 vlen=1
        'sk' type_id=30 bits_offset=0
[49] STRUCT 'sk_msg_md' size=80 vlen=11
        '(anon)' type_id=45 bits_offset=0
        '(anon)' type_id=47 bits_offset=64
        'family' type_id=10 bits_offset=128
        'remote_ip4' type_id=10 bits_offset=160
        'local_ip4' type_id=10 bits_offset=192
        'remote_ip6' type_id=26 bits_offset=224
        'local_ip6' type_id=26 bits_offset=352
        'remote_port' type_id=10 bits_offset=480
        'local_port' type_id=10 bits_offset=512
        'size' type_id=10 bits_offset=544
        '(anon)' type_id=48 bits_offset=576
[50] UNION '(anon)' size=8 vlen=1
        'data' type_id=46 bits_offset=0
[51] UNION '(anon)' size=8 vlen=1
        'data_end' type_id=46 bits_offset=0
[52] UNION '(anon)' size=8 vlen=1
        'sk' type_id=30 bits_offset=0
[53] UNION '(anon)' size=8 vlen=1
        'migrating_sk' type_id=30 bits_offset=0
[54] STRUCT 'sk_reuseport_md' size=56 vlen=9
        '(anon)' type_id=50 bits_offset=0
        '(anon)' type_id=51 bits_offset=64
        'len' type_id=10 bits_offset=128
        'eth_protocol' type_id=10 bits_offset=160
        'ip_protocol' type_id=10 bits_offset=192
        'bind_inany' type_id=10 bits_offset=224
        'hash' type_id=10 bits_offset=256
        '(anon)' type_id=52 bits_offset=320
        '(anon)' type_id=53 bits_offset=384
[55] UNION '(anon)' size=8 vlen=1
        'sk' type_id=30 bits_offset=0
[56] STRUCT 'bpf_sock_addr' size=72 vlen=10
        'user_family' type_id=10 bits_offset=0
        'user_ip4' type_id=10 bits_offset=32
        'user_ip6' type_id=26 bits_offset=64
        'user_port' type_id=10 bits_offset=192
        'family' type_id=10 bits_offset=224
        'type' type_id=10 bits_offset=256
        'protocol' type_id=10 bits_offset=288
        'msg_src_ip4' type_id=10 bits_offset=320
        'msg_src_ip6' type_id=26 bits_offset=352
        '(anon)' type_id=55 bits_offset=512
[57] UNION '(anon)' size=16 vlen=3
        'args' type_id=26 bits_offset=0
        'reply' type_id=10 bits_offset=0
        'replylong' type_id=26 bits_offset=0
[58] UNION '(anon)' size=8 vlen=1
        'sk' type_id=30 bits_offset=0
[59] UNION '(anon)' size=8 vlen=1
        'skb_data' type_id=46 bits_offset=0
[60] UNION '(anon)' size=8 vlen=1
        'skb_data_end' type_id=46 bits_offset=0
[61] STRUCT 'bpf_sock_ops' size=216 vlen=40
        'op' type_id=10 bits_offset=0
        '(anon)' type_id=57 bits_offset=32
        'family' type_id=10 bits_offset=160
        'remote_ip4' type_id=10 bits_offset=192
        'local_ip4' type_id=10 bits_offset=224
        'remote_ip6' type_id=26 bits_offset=256
        'local_ip6' type_id=26 bits_offset=384
        'remote_port' type_id=10 bits_offset=512
        'local_port' type_id=10 bits_offset=544
        'is_fullsock' type_id=10 bits_offset=576
        'snd_cwnd' type_id=10 bits_offset=608
        'srtt_us' type_id=10 bits_offset=640
        'bpf_sock_ops_cb_flags' type_id=10 bits_offset=672
        'state' type_id=10 bits_offset=704
        'rtt_min' type_id=10 bits_offset=736
        'snd_ssthresh' type_id=10 bits_offset=768
        'rcv_nxt' type_id=10 bits_offset=800
        'snd_nxt' type_id=10 bits_offset=832
        'snd_una' type_id=10 bits_offset=864
        'mss_cache' type_id=10 bits_offset=896
        'ecn_flags' type_id=10 bits_offset=928
        'rate_delivered' type_id=10 bits_offset=960
        'rate_interval_us' type_id=10 bits_offset=992
        'packets_out' type_id=10 bits_offset=1024
        'retrans_out' type_id=10 bits_offset=1056
        'total_retrans' type_id=10 bits_offset=1088
        'segs_in' type_id=10 bits_offset=1120
        'data_segs_in' type_id=10 bits_offset=1152
        'segs_out' type_id=10 bits_offset=1184
        'data_segs_out' type_id=10 bits_offset=1216
        'lost_out' type_id=10 bits_offset=1248
        'sacked_out' type_id=10 bits_offset=1280
        'sk_txhash' type_id=10 bits_offset=1312
        'bytes_received' type_id=14 bits_offset=1344
        'bytes_acked' type_id=14 bits_offset=1408
        '(anon)' type_id=58 bits_offset=1472
        '(anon)' type_id=59 bits_offset=1536
        '(anon)' type_id=60 bits_offset=1600
        'skb_len' type_id=10 bits_offset=1664
        'skb_tcp_flags' type_id=10 bits_offset=1696
[62] STRUCT 'bpf_perf_event_value' size=24 vlen=3
        'counter' type_id=14 bits_offset=0
        'enabled' type_id=14 bits_offset=64
        'running' type_id=14 bits_offset=128
[63] UNION '(anon)' size=2 vlen=2
        'tot_len' type_id=6 bits_offset=0
        'mtu_result' type_id=6 bits_offset=0
[64] UNION '(anon)' size=4 vlen=3
        'tos' type_id=3 bits_offset=0
        'flowinfo' type_id=16 bits_offset=0
        'rt_metric' type_id=10 bits_offset=0
[65] UNION '(anon)' size=16 vlen=2
        'ipv4_src' type_id=16 bits_offset=0
        'ipv6_src' type_id=26 bits_offset=0
[66] UNION '(anon)' size=16 vlen=2
        'ipv4_dst' type_id=16 bits_offset=0
        'ipv6_dst' type_id=26 bits_offset=0
[67] STRUCT 'bpf_fib_lookup' size=64 vlen=13
        'family' type_id=3 bits_offset=0
        'l4_protocol' type_id=3 bits_offset=8
        'sport' type_id=15 bits_offset=16
        'dport' type_id=15 bits_offset=32
        '(anon)' type_id=63 bits_offset=48
        'ifindex' type_id=10 bits_offset=64
        '(anon)' type_id=64 bits_offset=96
        '(anon)' type_id=65 bits_offset=128
        '(anon)' type_id=66 bits_offset=256
        'h_vlan_proto' type_id=15 bits_offset=384
        'h_vlan_TCI' type_id=15 bits_offset=400
        'smac' type_id=68 bits_offset=416
        'dmac' type_id=68 bits_offset=464
[68] ARRAY '(anon)' type_id=3 index_type_id=18 nr_elems=6
[69] UNION '(anon)' size=16 vlen=2
        'ipv4_nh' type_id=16 bits_offset=0
        'ipv6_nh' type_id=26 bits_offset=0
[70] STRUCT 'bpf_redir_neigh' size=20 vlen=2
        'nh_family' type_id=10 bits_offset=0
        '(anon)' type_id=69 bits_offset=32
[71] STRUCT 'bpf_spin_lock' size=4 vlen=1
        'val' type_id=10 bits_offset=0
[72] STRUCT 'bpf_timer' size=16 vlen=0
[73] STRUCT 'bpf_dynptr' size=16 vlen=0
[74] STRUCT 'bpf_sysctl' size=8 vlen=2
        'write' type_id=10 bits_offset=0
        'file_pos' type_id=10 bits_offset=32
[75] STRUCT 'bpf_pidns_info' size=8 vlen=2
        'pid' type_id=10 bits_offset=0
        'tgid' type_id=10 bits_offset=32
[76] STRUCT 'btf_ptr' size=16 vlen=3
        'ptr' type_id=46 bits_offset=0
        'type_id' type_id=10 bits_offset=64
        'flags' type_id=10 bits_offset=96
[77] FUNC_PROTO '(anon)' ret_type_id=46 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=79
[78] CONST '(anon)' type_id=0
[79] PTR '(anon)' type_id=78
[80] PTR '(anon)' type_id=77
[81] INT 'long int' size=8 bits_offset=0 nr_bits=64 encoding=SIGNED
[82] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=46
        '(anon)' type_id=79
        '(anon)' type_id=79
        '(anon)' type_id=14
[83] PTR '(anon)' type_id=82
[84] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=79
[85] PTR '(anon)' type_id=84
[86] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=79
[87] PTR '(anon)' type_id=86
[88] FUNC_PROTO '(anon)' ret_type_id=14 vlen=0
[89] PTR '(anon)' type_id=88
[90] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=91
        '(anon)' type_id=10
        '(anon)' type_id=0
[91] PTR '(anon)' type_id=20
[92] PTR '(anon)' type_id=90
[93] FUNC_PROTO '(anon)' ret_type_id=10 vlen=0
[94] PTR '(anon)' type_id=93
[95] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=96
        '(anon)' type_id=10
        '(anon)' type_id=79
        '(anon)' type_id=10
        '(anon)' type_id=14
[96] PTR '(anon)' type_id=31
[97] PTR '(anon)' type_id=95
[98] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=96
        '(anon)' type_id=10
        '(anon)' type_id=14
        '(anon)' type_id=14
        '(anon)' type_id=14
[99] PTR '(anon)' type_id=98
[100] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=10
[101] PTR '(anon)' type_id=100
[102] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=96
        '(anon)' type_id=10
        '(anon)' type_id=14
[103] PTR '(anon)' type_id=102
[104] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=10
[105] PTR '(anon)' type_id=104
[106] FUNC_PROTO '(anon)' ret_type_id=10 vlen=1
        '(anon)' type_id=96
[107] PTR '(anon)' type_id=106
[108] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=96
        '(anon)' type_id=15
        '(anon)' type_id=6
[109] PTR '(anon)' type_id=108
[110] FUNC_PROTO '(anon)' ret_type_id=81 vlen=1
        '(anon)' type_id=96
[111] PTR '(anon)' type_id=110
[112] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=96
        '(anon)' type_id=113
        '(anon)' type_id=10
        '(anon)' type_id=14
[113] PTR '(anon)' type_id=35
[114] PTR '(anon)' type_id=112
[115] FUNC_PROTO '(anon)' ret_type_id=14 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=14
[116] PTR '(anon)' type_id=115
[117] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=10
        '(anon)' type_id=14
[118] PTR '(anon)' type_id=117
[119] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=14
        '(anon)' type_id=46
        '(anon)' type_id=14
[120] PTR '(anon)' type_id=119
[121] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=79
        '(anon)' type_id=10
        '(anon)' type_id=46
        '(anon)' type_id=10
[122] PTR '(anon)' type_id=121
[123] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=14
[124] PTR '(anon)' type_id=123
[125] FUNC_PROTO '(anon)' ret_type_id=12 vlen=5
        '(anon)' type_id=126
        '(anon)' type_id=10
        '(anon)' type_id=126
        '(anon)' type_id=10
        '(anon)' type_id=17
[126] PTR '(anon)' type_id=16
[127] PTR '(anon)' type_id=125
[128] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=96
        '(anon)' type_id=46
        '(anon)' type_id=10
[129] PTR '(anon)' type_id=128
[130] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=96
        '(anon)' type_id=15
        '(anon)' type_id=14
[131] PTR '(anon)' type_id=130
[132] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=96
        '(anon)' type_id=10
[133] PTR '(anon)' type_id=132
[134] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=46
        '(anon)' type_id=79
        '(anon)' type_id=10
[135] PTR '(anon)' type_id=134
[136] FUNC_PROTO '(anon)' ret_type_id=12 vlen=2
        '(anon)' type_id=96
        '(anon)' type_id=17
[137] PTR '(anon)' type_id=136
[138] FUNC_PROTO '(anon)' ret_type_id=0 vlen=1
        '(anon)' type_id=96
[139] PTR '(anon)' type_id=138
[140] FUNC_PROTO '(anon)' ret_type_id=81 vlen=0
[141] PTR '(anon)' type_id=140
[142] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=143
        '(anon)' type_id=7
[143] PTR '(anon)' type_id=44
[144] PTR '(anon)' type_id=142
[145] FUNC_PROTO '(anon)' ret_type_id=14 vlen=1
        '(anon)' type_id=46
[146] PTR '(anon)' type_id=145
[147] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=46
        '(anon)' type_id=7
        '(anon)' type_id=7
        '(anon)' type_id=46
        '(anon)' type_id=7
[148] PTR '(anon)' type_id=147
[149] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=96
        '(anon)' type_id=8
        '(anon)' type_id=10
        '(anon)' type_id=14
[150] PTR '(anon)' type_id=149
[151] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=14
[152] PTR '(anon)' type_id=151
[153] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=96
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=14
[154] PTR '(anon)' type_id=153
[155] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=156
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=14
[156] PTR '(anon)' type_id=61
[157] PTR '(anon)' type_id=155
[158] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=46
        '(anon)' type_id=14
        '(anon)' type_id=159
        '(anon)' type_id=10
[159] PTR '(anon)' type_id=62
[160] PTR '(anon)' type_id=158
[161] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=163
        '(anon)' type_id=159
        '(anon)' type_id=10
[162] FWD 'bpf_perf_event_data' fwd_kind=struct
[163] PTR '(anon)' type_id=162
[164] PTR '(anon)' type_id=161
[165] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=167
        '(anon)' type_id=14
[166] FWD 'pt_regs' fwd_kind=struct
[167] PTR '(anon)' type_id=166
[168] PTR '(anon)' type_id=165
[169] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=156
        '(anon)' type_id=7
[170] PTR '(anon)' type_id=169
[171] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=172
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=14
[172] PTR '(anon)' type_id=49
[173] PTR '(anon)' type_id=171
[174] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=172
        '(anon)' type_id=10
[175] PTR '(anon)' type_id=174
[176] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=172
        '(anon)' type_id=10
        '(anon)' type_id=10
        '(anon)' type_id=14
[177] PTR '(anon)' type_id=176
[178] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=179
        '(anon)' type_id=181
        '(anon)' type_id=7
[179] PTR '(anon)' type_id=56
[180] FWD 'sockaddr' fwd_kind=struct
[181] PTR '(anon)' type_id=180
[182] PTR '(anon)' type_id=178
[183] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=96
        '(anon)' type_id=10
        '(anon)' type_id=184
        '(anon)' type_id=10
        '(anon)' type_id=14
[184] PTR '(anon)' type_id=37
[185] PTR '(anon)' type_id=183
[186] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=14
[187] PTR '(anon)' type_id=186
[188] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=79
        '(anon)' type_id=10
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=10
[189] PTR '(anon)' type_id=188
[190] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=46
        '(anon)' type_id=191
        '(anon)' type_id=7
        '(anon)' type_id=10
[191] PTR '(anon)' type_id=67
[192] PTR '(anon)' type_id=190
[193] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=172
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=14
[194] PTR '(anon)' type_id=193
[195] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=96
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=14
[196] PTR '(anon)' type_id=195
[197] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=96
        '(anon)' type_id=10
        '(anon)' type_id=46
        '(anon)' type_id=10
[198] PTR '(anon)' type_id=197
[199] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=96
        '(anon)' type_id=10
        '(anon)' type_id=79
        '(anon)' type_id=10
[200] PTR '(anon)' type_id=199
[201] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=96
        '(anon)' type_id=10
        '(anon)' type_id=8
[202] PTR '(anon)' type_id=201
[203] FUNC_PROTO '(anon)' ret_type_id=81 vlen=1
        '(anon)' type_id=46
[204] PTR '(anon)' type_id=203
[205] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=14
        '(anon)' type_id=10
[206] PTR '(anon)' type_id=205
[207] FUNC_PROTO '(anon)' ret_type_id=14 vlen=1
        '(anon)' type_id=96
[208] PTR '(anon)' type_id=207
[209] FUNC_PROTO '(anon)' ret_type_id=46 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=14
[210] PTR '(anon)' type_id=209
[211] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=212
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=14
[212] PTR '(anon)' type_id=54
[213] PTR '(anon)' type_id=211
[214] FUNC_PROTO '(anon)' ret_type_id=14 vlen=2
        '(anon)' type_id=96
        '(anon)' type_id=7
[215] PTR '(anon)' type_id=214
[216] FUNC_PROTO '(anon)' ret_type_id=30 vlen=5
        '(anon)' type_id=46
        '(anon)' type_id=217
        '(anon)' type_id=10
        '(anon)' type_id=14
        '(anon)' type_id=14
[217] PTR '(anon)' type_id=43
[218] PTR '(anon)' type_id=216
[219] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=46
        '(anon)' type_id=79
        '(anon)' type_id=14
[220] PTR '(anon)' type_id=219
[221] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=46
[222] PTR '(anon)' type_id=221
[223] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=46
        '(anon)' type_id=8
        '(anon)' type_id=8
[224] PTR '(anon)' type_id=223
[225] FUNC_PROTO '(anon)' ret_type_id=81 vlen=1
        '(anon)' type_id=226
[226] PTR '(anon)' type_id=71
[227] PTR '(anon)' type_id=225
[228] FUNC_PROTO '(anon)' ret_type_id=30 vlen=1
        '(anon)' type_id=30
[229] PTR '(anon)' type_id=228
[230] PTR '(anon)' type_id=38
[231] FUNC_PROTO '(anon)' ret_type_id=230 vlen=1
        '(anon)' type_id=30
[232] PTR '(anon)' type_id=231
[233] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=235
        '(anon)' type_id=10
[234] FWD 'tcphdr' fwd_kind=struct
[235] PTR '(anon)' type_id=234
[236] PTR '(anon)' type_id=233
[237] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=238
        '(anon)' type_id=239
        '(anon)' type_id=18
        '(anon)' type_id=14
[238] PTR '(anon)' type_id=74
[239] PTR '(anon)' type_id=19
[240] PTR '(anon)' type_id=237
[241] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=238
        '(anon)' type_id=239
        '(anon)' type_id=18
[242] PTR '(anon)' type_id=241
[243] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=238
        '(anon)' type_id=91
        '(anon)' type_id=18
[244] PTR '(anon)' type_id=243
[245] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=91
        '(anon)' type_id=18
        '(anon)' type_id=14
        '(anon)' type_id=246
[246] PTR '(anon)' type_id=81
[247] PTR '(anon)' type_id=245
[248] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=91
        '(anon)' type_id=18
        '(anon)' type_id=14
        '(anon)' type_id=249
[249] PTR '(anon)' type_id=18
[250] PTR '(anon)' type_id=248
[251] FUNC_PROTO '(anon)' ret_type_id=46 vlen=4
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=14
[252] PTR '(anon)' type_id=251
[253] FUNC_PROTO '(anon)' ret_type_id=81 vlen=1
        '(anon)' type_id=10
[254] PTR '(anon)' type_id=253
[255] FUNC_PROTO '(anon)' ret_type_id=12 vlen=5
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=235
        '(anon)' type_id=10
[256] PTR '(anon)' type_id=255
[257] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=163
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=14
[258] PTR '(anon)' type_id=257
[259] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=14
        '(anon)' type_id=14
        '(anon)' type_id=260
        '(anon)' type_id=10
[260] PTR '(anon)' type_id=75
[261] PTR '(anon)' type_id=259
[262] FUNC_PROTO '(anon)' ret_type_id=14 vlen=1
        '(anon)' type_id=7
[263] PTR '(anon)' type_id=262
[264] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=266
        '(anon)' type_id=91
        '(anon)' type_id=10
        '(anon)' type_id=79
        '(anon)' type_id=10
[265] FWD 'seq_file' fwd_kind=struct
[266] PTR '(anon)' type_id=265
[267] PTR '(anon)' type_id=264
[268] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=266
        '(anon)' type_id=79
        '(anon)' type_id=10
[269] PTR '(anon)' type_id=268
[270] FUNC_PROTO '(anon)' ret_type_id=14 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=7
[271] PTR '(anon)' type_id=270
[272] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=14
        '(anon)' type_id=14
[273] PTR '(anon)' type_id=272
[274] FUNC_PROTO '(anon)' ret_type_id=46 vlen=3
        '(anon)' type_id=46
        '(anon)' type_id=14
        '(anon)' type_id=14
[275] PTR '(anon)' type_id=274
[276] FUNC_PROTO '(anon)' ret_type_id=0 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=14
[277] PTR '(anon)' type_id=276
[278] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=96
        '(anon)' type_id=14
[279] PTR '(anon)' type_id=278
[280] FWD 'tcp6_sock' fwd_kind=struct
[281] PTR '(anon)' type_id=280
[282] FUNC_PROTO '(anon)' ret_type_id=281 vlen=1
        '(anon)' type_id=46
[283] PTR '(anon)' type_id=282
[284] FWD 'tcp_sock' fwd_kind=struct
[285] PTR '(anon)' type_id=284
[286] FUNC_PROTO '(anon)' ret_type_id=285 vlen=1
        '(anon)' type_id=46
[287] PTR '(anon)' type_id=286
[288] FWD 'tcp_timewait_sock' fwd_kind=struct
[289] PTR '(anon)' type_id=288
[290] FUNC_PROTO '(anon)' ret_type_id=289 vlen=1
        '(anon)' type_id=46
[291] PTR '(anon)' type_id=290
[292] FWD 'tcp_request_sock' fwd_kind=struct
[293] PTR '(anon)' type_id=292
[294] FUNC_PROTO '(anon)' ret_type_id=293 vlen=1
        '(anon)' type_id=46
[295] PTR '(anon)' type_id=294
[296] FWD 'udp6_sock' fwd_kind=struct
[297] PTR '(anon)' type_id=296
[298] FUNC_PROTO '(anon)' ret_type_id=297 vlen=1
        '(anon)' type_id=46
[299] PTR '(anon)' type_id=298
[300] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=302
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=14
[301] FWD 'task_struct' fwd_kind=struct
[302] PTR '(anon)' type_id=301
[303] PTR '(anon)' type_id=300
[304] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=156
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=14
[305] PTR '(anon)' type_id=304
[306] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=156
        '(anon)' type_id=79
        '(anon)' type_id=10
        '(anon)' type_id=14
[307] PTR '(anon)' type_id=306
[308] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=156
        '(anon)' type_id=10
        '(anon)' type_id=14
[309] PTR '(anon)' type_id=308
[310] FUNC_PROTO '(anon)' ret_type_id=7 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=46
[311] PTR '(anon)' type_id=310
[312] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=314
        '(anon)' type_id=239
        '(anon)' type_id=10
[313] FWD 'path' fwd_kind=struct
[314] PTR '(anon)' type_id=313
[315] PTR '(anon)' type_id=312
[316] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=239
        '(anon)' type_id=10
        '(anon)' type_id=317
        '(anon)' type_id=10
        '(anon)' type_id=14
[317] PTR '(anon)' type_id=76
[318] PTR '(anon)' type_id=316
[319] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=266
        '(anon)' type_id=317
        '(anon)' type_id=10
        '(anon)' type_id=14
[320] PTR '(anon)' type_id=319
[321] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=10
        '(anon)' type_id=322
        '(anon)' type_id=7
        '(anon)' type_id=14
[322] PTR '(anon)' type_id=70
[323] PTR '(anon)' type_id=321
[324] FUNC_PROTO '(anon)' ret_type_id=46 vlen=2
        '(anon)' type_id=79
        '(anon)' type_id=10
[325] PTR '(anon)' type_id=324
[326] FUNC_PROTO '(anon)' ret_type_id=46 vlen=1
        '(anon)' type_id=79
[327] PTR '(anon)' type_id=326
[328] FUNC_PROTO '(anon)' ret_type_id=46 vlen=4
        '(anon)' type_id=46
        '(anon)' type_id=302
        '(anon)' type_id=46
        '(anon)' type_id=14
[329] PTR '(anon)' type_id=328
[330] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=302
[331] PTR '(anon)' type_id=330
[332] FUNC_PROTO '(anon)' ret_type_id=302 vlen=0
[333] PTR '(anon)' type_id=332
[334] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=336
        '(anon)' type_id=14
[335] FWD 'linux_binprm' fwd_kind=struct
[336] PTR '(anon)' type_id=335
[337] PTR '(anon)' type_id=334
[338] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=340
        '(anon)' type_id=46
        '(anon)' type_id=10
[339] FWD 'inode' fwd_kind=struct
[340] PTR '(anon)' type_id=339
[341] PTR '(anon)' type_id=338
[342] FWD 'socket' fwd_kind=struct
[343] PTR '(anon)' type_id=342
[344] FUNC_PROTO '(anon)' ret_type_id=343 vlen=1
        '(anon)' type_id=346
[345] FWD 'file' fwd_kind=struct
[346] PTR '(anon)' type_id=345
[347] PTR '(anon)' type_id=344
[348] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=349
        '(anon)' type_id=8
        '(anon)' type_id=14
[349] PTR '(anon)' type_id=10
[350] PTR '(anon)' type_id=348
[351] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=14
[352] PTR '(anon)' type_id=351
[353] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=239
        '(anon)' type_id=10
        '(anon)' type_id=91
        '(anon)' type_id=354
        '(anon)' type_id=10
[354] PTR '(anon)' type_id=14
[355] PTR '(anon)' type_id=353
[356] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=10
        '(anon)' type_id=46
        '(anon)' type_id=10
[357] PTR '(anon)' type_id=356
[358] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=239
        '(anon)' type_id=7
        '(anon)' type_id=10
        '(anon)' type_id=7
[359] PTR '(anon)' type_id=358
[360] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=361
        '(anon)' type_id=46
        '(anon)' type_id=14
[361] PTR '(anon)' type_id=72
[362] PTR '(anon)' type_id=360
[363] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=361
        '(anon)' type_id=46
[364] PTR '(anon)' type_id=363
[365] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=361
        '(anon)' type_id=14
        '(anon)' type_id=14
[366] PTR '(anon)' type_id=365
[367] FUNC_PROTO '(anon)' ret_type_id=81 vlen=1
        '(anon)' type_id=361
[368] PTR '(anon)' type_id=367
[369] FUNC_PROTO '(anon)' ret_type_id=81 vlen=1
        '(anon)' type_id=302
[370] PTR '(anon)' type_id=369
[371] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=91
        '(anon)' type_id=10
        '(anon)' type_id=79
        '(anon)' type_id=10
[372] PTR '(anon)' type_id=371
[373] FWD 'unix_sock' fwd_kind=struct
[374] PTR '(anon)' type_id=373
[375] FUNC_PROTO '(anon)' ret_type_id=374 vlen=1
        '(anon)' type_id=46
[376] PTR '(anon)' type_id=375
[377] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=91
        '(anon)' type_id=7
        '(anon)' type_id=7
        '(anon)' type_id=354
[378] PTR '(anon)' type_id=377
[379] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=302
        '(anon)' type_id=14
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=14
[380] PTR '(anon)' type_id=379
[381] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=10
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=14
[382] PTR '(anon)' type_id=381
[383] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=91
        '(anon)' type_id=10
        '(anon)' type_id=91
[384] PTR '(anon)' type_id=383
[385] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=354
[386] PTR '(anon)' type_id=385
[387] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=354
[388] PTR '(anon)' type_id=387
[389] FUNC_PROTO '(anon)' ret_type_id=7 vlen=0
[390] PTR '(anon)' type_id=389
[391] FUNC_PROTO '(anon)' ret_type_id=7 vlen=1
        '(anon)' type_id=7
[392] PTR '(anon)' type_id=391
[393] FUNC_PROTO '(anon)' ret_type_id=14 vlen=1
        '(anon)' type_id=143
[394] PTR '(anon)' type_id=393
[395] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=143
        '(anon)' type_id=10
        '(anon)' type_id=46
        '(anon)' type_id=10
[396] PTR '(anon)' type_id=395
[397] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=79
        '(anon)' type_id=302
        '(anon)' type_id=14
[398] PTR '(anon)' type_id=397
[399] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=96
        '(anon)' type_id=14
        '(anon)' type_id=10
[400] PTR '(anon)' type_id=399
[401] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=346
        '(anon)' type_id=46
        '(anon)' type_id=10
[402] PTR '(anon)' type_id=401
[403] FUNC_PROTO '(anon)' ret_type_id=46 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=46
[404] PTR '(anon)' type_id=403
[405] FUNC_PROTO '(anon)' ret_type_id=46 vlen=3
        '(anon)' type_id=46
        '(anon)' type_id=79
        '(anon)' type_id=10
[406] PTR '(anon)' type_id=405
[407] FWD 'mptcp_sock' fwd_kind=struct
[408] PTR '(anon)' type_id=407
[409] FUNC_PROTO '(anon)' ret_type_id=408 vlen=1
        '(anon)' type_id=46
[410] PTR '(anon)' type_id=409
[411] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=14
        '(anon)' type_id=412
[412] PTR '(anon)' type_id=73
[413] PTR '(anon)' type_id=411
[414] FUNC_PROTO '(anon)' ret_type_id=0 vlen=2
        '(anon)' type_id=412
        '(anon)' type_id=14
[415] PTR '(anon)' type_id=414
[416] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=412
        '(anon)' type_id=10
        '(anon)' type_id=14
[417] PTR '(anon)' type_id=416
[418] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=412
        '(anon)' type_id=10
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=14
[419] PTR '(anon)' type_id=418
[420] FUNC_PROTO '(anon)' ret_type_id=46 vlen=3
        '(anon)' type_id=412
        '(anon)' type_id=10
        '(anon)' type_id=10
[421] PTR '(anon)' type_id=420
[422] FUNC_PROTO '(anon)' ret_type_id=12 vlen=3
        '(anon)' type_id=424
        '(anon)' type_id=235
        '(anon)' type_id=10
[423] FWD 'iphdr' fwd_kind=struct
[424] PTR '(anon)' type_id=423
[425] PTR '(anon)' type_id=422
[426] FUNC_PROTO '(anon)' ret_type_id=12 vlen=3
        '(anon)' type_id=428
        '(anon)' type_id=235
        '(anon)' type_id=10
[427] FWD 'ipv6hdr' fwd_kind=struct
[428] PTR '(anon)' type_id=427
[429] PTR '(anon)' type_id=426
[430] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=424
        '(anon)' type_id=235
[431] PTR '(anon)' type_id=430
[432] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=428
        '(anon)' type_id=235
[433] PTR '(anon)' type_id=432
[434] ARRAY '(anon)' type_id=19 index_type_id=18 nr_elems=4
[435] FUNC_PROTO '(anon)' ret_type_id=7 vlen=1
        'ctx' type_id=79
[436] VAR 'bpf_seq_printf_btf' type_id=320, linkage=static
[437] VAR 'bpf_get_current_task' type_id=89, linkage=static
[438] VAR 'bpf_get_current_task_btf' type_id=333, linkage=static
[439] VAR 'bpf_redirect_map' type_id=152, linkage=static
[440] VAR 'bpf_override_return' type_id=168, linkage=static
[441] VAR 'bpf_get_branch_snapshot' type_id=152, linkage=static
[442] VAR 'bpf_strtol' type_id=247, linkage=static
[443] VAR 'bpf_get_listener_sock' type_id=229, linkage=static
[444] VAR 'bpf_lwt_push_encap' type_id=198, linkage=static
[445] VAR 'bpf_lwt_seg6_adjust_srh' type_id=202, linkage=static
[446] VAR 'bpf_sk_lookup_tcp' type_id=218, linkage=static
[447] VAR 'bpf_tcp_gen_syncookie' type_id=256, linkage=static
[448] VAR 'bpf_skb_store_bytes' type_id=97, linkage=static
[449] VAR 'bpf_map_peek_elem' type_id=222, linkage=static
[450] VAR 'bpf_skb_change_tail' type_id=103, linkage=static
[451] VAR 'bpf_ringbuf_output' type_id=273, linkage=static
[452] VAR 'bpf_dynptr_from_mem' type_id=413, linkage=static
[453] VAR 'bpf_ima_file_hash' type_id=402, linkage=static
[454] VAR 'bpf_sk_release' type_id=204, linkage=static
[455] VAR 'bpf_dynptr_read' type_id=417, linkage=static
[456] VAR 'bpf_redirect_peer' type_id=118, linkage=static
[457] VAR 'bpf_set_hash' type_id=133, linkage=static
[458] VAR 'bpf_strtoul' type_id=250, linkage=static
[459] VAR 'bpf_redirect' type_id=118, linkage=static
[460] VAR 'bpf_skb_cgroup_classid' type_id=208, linkage=static
[461] VAR 'bpf_msg_cork_bytes' type_id=175, linkage=static
[462] VAR 'bpf_sk_select_reuseport' type_id=213, linkage=static
[463] VAR '_license' type_id=434, linkage=global
[464] VAR 'bpf_getsockopt' type_id=148, linkage=static
[465] VAR 'bpf_perf_event_read' type_id=116, linkage=static
[466] VAR 'bpf_bind' type_id=182, linkage=static
[467] VAR 'bpf_skb_adjust_room' type_id=150, linkage=static
[468] VAR 'bpf_skb_load_bytes' type_id=122, linkage=static
[469] VAR 'bpf_tcp_raw_check_syncookie_ipv6' type_id=433, linkage=static
[470] VAR 'bpf_map_pop_elem' type_id=222, linkage=static
[471] VAR 'bpf_reserve_hdr_opt' type_id=309, linkage=static
[472] VAR 'bpf_map_lookup_elem' type_id=80, linkage=static
[473] VAR 'bpf_skc_to_tcp_sock' type_id=287, linkage=static
[474] VAR 'bpf_skc_to_udp6_sock' type_id=299, linkage=static
[475] VAR 'bpf_task_pt_regs' type_id=370, linkage=static
[476] VAR 'bpf_msg_redirect_hash' type_id=194, linkage=static
[477] VAR 'bpf_probe_read' type_id=87, linkage=static
[478] VAR 'bpf_d_path' type_id=315, linkage=static
[479] VAR 'bpf_l3_csum_replace' type_id=99, linkage=static
[480] VAR 'bpf_probe_write_user' type_id=135, linkage=static
[481] VAR 'bpf_l4_csum_replace' type_id=99, linkage=static
[482] VAR 'bpf_ktime_get_boot_ns' type_id=89, linkage=static
[483] VAR 'bpf_get_current_uid_gid' type_id=89, linkage=static
[484] VAR 'bpf_ringbuf_submit_dynptr' type_id=415, linkage=static
[485] VAR 'bpf_inode_storage_get' type_id=252, linkage=static
[486] VAR 'bpf_sock_ops_cb_flags_set' type_id=170, linkage=static
[487] VAR 'bpf_sk_cgroup_id' type_id=146, linkage=static
[488] VAR 'bpf_skb_get_tunnel_opt' type_id=129, linkage=static
[489] VAR 'bpf_sys_close' type_id=254, linkage=static
[490] VAR 'bpf_trace_printk' type_id=92, linkage=static
[491] VAR 'bpf_find_vma' type_id=380, linkage=static
[492] VAR 'bpf_skc_to_tcp6_sock' type_id=283, linkage=static
[493] VAR 'bpf_skc_to_unix_sock' type_id=376, linkage=static
[494] VAR 'bpf_redirect_neigh' type_id=323, linkage=static
[495] VAR 'bpf_fib_lookup' type_id=192, linkage=static
[496] VAR 'bpf_kptr_xchg' type_id=404, linkage=static
[497] VAR 'out__bpf_link_fops1' type_id=14, linkage=global
[498] VAR 'bpf_csum_level' type_id=279, linkage=static
[499] VAR 'bpf_map_push_elem' type_id=220, linkage=static
[500] VAR 'bpf_skc_to_mptcp_sock' type_id=410, linkage=static
[501] VAR 'bpf_get_ns_current_pid_tgid' type_id=261, linkage=static
[502] VAR 'bpf_get_current_comm' type_id=105, linkage=static
[503] VAR 'bpf_perf_event_output' type_id=120, linkage=static
[504] VAR 'bpf_get_stack' type_id=187, linkage=static
[505] VAR 'bpf_probe_read_kernel' type_id=87, linkage=static
[506] VAR 'bpf_probe_read_user' type_id=87, linkage=static
[507] VAR 'bpf_get_attach_cookie' type_id=146, linkage=static
[508] VAR 'bpf_csum_diff' type_id=127, linkage=static
[509] VAR 'bpf_get_hash_recalc' type_id=107, linkage=static
[510] VAR 'bpf_sk_assign' type_id=124, linkage=static
[511] VAR 'bpf_probe_read_kernel_str' type_id=87, linkage=static
[512] VAR 'bpf_sysctl_get_current_value' type_id=242, linkage=static
[513] VAR 'bpf_map_lookup_percpu_elem' type_id=406, linkage=static
[514] VAR 'bpf_get_stackid' type_id=124, linkage=static
[515] VAR 'bpf_sk_storage_get' type_id=252, linkage=static
[516] VAR 'bpf_get_current_pid_tgid' type_id=89, linkage=static
[517] VAR 'bpf_perf_prog_read_value' type_id=164, linkage=static
[518] VAR 'bpf_seq_printf' type_id=267, linkage=static
[519] VAR 'bpf_get_smp_processor_id' type_id=94, linkage=static
[520] VAR 'bpf_get_prandom_u32' type_id=94, linkage=static
[521] VAR 'bpf_map_delete_elem' type_id=85, linkage=static
[522] VAR 'bpf_kallsyms_lookup_name' type_id=378, linkage=static
[523] VAR 'bpf_ringbuf_reserve' type_id=275, linkage=static
[524] VAR 'bpf_task_storage_get' type_id=329, linkage=static
[525] VAR 'bpf_skb_vlan_pop' type_id=111, linkage=static
[526] VAR 'bpf_dynptr_write' type_id=419, linkage=static
[527] VAR 'bpf_lwt_seg6_action' type_id=198, linkage=static
[528] VAR 'bpf_get_retval' type_id=390, linkage=static
[529] VAR 'bpf_get_socket_cookie' type_id=146, linkage=static
[530] VAR 'bpf_xdp_load_bytes' type_id=396, linkage=static
[531] VAR 'bpf_probe_read_str' type_id=87, linkage=static
[532] VAR 'bpf_msg_apply_bytes' type_id=175, linkage=static
[533] VAR 'bpf_ringbuf_discard' type_id=277, linkage=static
[534] VAR 'bpf_get_current_cgroup_id' type_id=89, linkage=static
[535] VAR 'bpf_lwt_seg6_store_bytes' type_id=200, linkage=static
[536] VAR 'out__bpf_link_fops' type_id=14, linkage=global
[537] VAR 'bpf_inode_storage_delete' type_id=311, linkage=static
[538] VAR 'bpf_skc_to_tcp_request_sock' type_id=295, linkage=static
[539] VAR 'bpf_tcp_raw_gen_syncookie_ipv6' type_id=429, linkage=static
[540] VAR 'bpf_sk_storage_delete' type_id=222, linkage=static
[541] VAR 'bpf_per_cpu_ptr' type_id=325, linkage=static
[542] VAR 'bpf_timer_cancel' type_id=368, linkage=static
[543] VAR 'out__btf_size' type_id=14, linkage=global
[544] VAR 'bpf_xdp_adjust_meta' type_id=144, linkage=static
[545] VAR 'bpf_skb_change_type' type_id=133, linkage=static
[546] VAR 'bpf_skb_output' type_id=120, linkage=static
[547] VAR 'bpf_sock_hash_update' type_id=157, linkage=static
[548] VAR 'bpf_sk_lookup_udp' type_id=218, linkage=static
[549] VAR 'bpf_sysctl_get_name' type_id=240, linkage=static
[550] VAR 'bpf_get_func_ip' type_id=146, linkage=static
[551] VAR 'bpf_get_local_storage' type_id=210, linkage=static
[552] VAR 'bpf_xdp_store_bytes' type_id=396, linkage=static
[553] VAR 'bpf_xdp_output' type_id=120, linkage=static
[554] VAR 'bpf_get_current_ancestor_cgroup_id' type_id=263, linkage=static
[555] VAR 'bpf_skb_vlan_push' type_id=109, linkage=static
[556] VAR 'bpf_ktime_get_coarse_ns' type_id=89, linkage=static
[557] VAR 'bpf_timer_set_callback' type_id=364, linkage=static
[558] VAR 'bpf_bprm_opts_set' type_id=337, linkage=static
[559] VAR 'bpf_setsockopt' type_id=148, linkage=static
[560] VAR 'bpf_skb_under_cgroup' type_id=129, linkage=static
[561] VAR 'bpf_for_each_map_elem' type_id=352, linkage=static
[562] VAR 'bpf_ringbuf_submit' type_id=277, linkage=static
[563] VAR 'bpf_tcp_sock' type_id=232, linkage=static
[564] VAR 'bpf_copy_from_user_task' type_id=398, linkage=static
[565] VAR 'bpf_read_branch_records' type_id=258, linkage=static
[566] VAR 'bpf_loop' type_id=382, linkage=static
[567] VAR 'bpf_sock_from_file' type_id=347, linkage=static
[568] VAR 'bpf_spin_lock' type_id=227, linkage=static
[569] VAR 'bpf_get_func_arg_cnt' type_id=204, linkage=static
[570] VAR 'bpf_sk_redirect_hash' type_id=196, linkage=static
[571] VAR 'bpf_ima_inode_hash' type_id=341, linkage=static
[572] VAR 'bpf_xdp_adjust_tail' type_id=144, linkage=static
[573] VAR 'bpf_set_hash_invalid' type_id=139, linkage=static
[574] VAR 'bpf_trace_vprintk' type_id=372, linkage=static
[575] VAR 'bpf_set_retval' type_id=392, linkage=static
[576] VAR 'bpf_ktime_get_tai_ns' type_id=89, linkage=static
[577] VAR 'bpf_get_numa_node_id' type_id=141, linkage=static
[578] VAR 'bpf_skb_change_head' type_id=103, linkage=static
[579] VAR 'bpf_msg_pop_data' type_id=177, linkage=static
[580] VAR 'bpf_xdp_adjust_head' type_id=144, linkage=static
[581] VAR 'bpf_skc_lookup_tcp' type_id=218, linkage=static
[582] VAR 'bpf_dynptr_data' type_id=421, linkage=static
[583] VAR 'bpf_send_signal_thread' type_id=254, linkage=static
[584] VAR 'bpf_probe_read_user_str' type_id=87, linkage=static
[585] VAR 'bpf_sk_redirect_map' type_id=154, linkage=static
[586] VAR 'bpf_store_hdr_opt' type_id=307, linkage=static
[587] VAR 'bpf_tcp_raw_check_syncookie_ipv4' type_id=431, linkage=static
[588] VAR 'bpf_sk_fullsock' type_id=229, linkage=static
[589] VAR 'bpf_skb_load_bytes_relative' type_id=189, linkage=static
[590] VAR 'bpf_skb_get_tunnel_key' type_id=114, linkage=static
[591] VAR 'bpf_sk_ancestor_cgroup_id' type_id=271, linkage=static
[592] VAR 'bpf_copy_from_user' type_id=87, linkage=static
[593] VAR 'bpf_get_cgroup_classid' type_id=107, linkage=static
[594] VAR 'bpf_send_signal' type_id=254, linkage=static
[595] VAR 'bpf_sock_map_update' type_id=157, linkage=static
[596] VAR 'bpf_rc_keydown' type_id=206, linkage=static
[597] VAR 'bpf_get_task_stack' type_id=303, linkage=static
[598] VAR 'bpf_get_route_realm' type_id=107, linkage=static
[599] VAR 'bpf_get_func_arg' type_id=386, linkage=static
[600] VAR 'bpf_skb_set_tunnel_opt' type_id=129, linkage=static
[601] VAR 'bpf_sys_bpf' type_id=357, linkage=static
[602] VAR 'bpf_skb_set_tstamp' type_id=400, linkage=static
[603] VAR 'bpf_xdp_get_buff_len' type_id=394, linkage=static
[604] VAR 'bpf_rc_pointer_rel' type_id=224, linkage=static
[605] VAR 'bpf_msg_push_data' type_id=177, linkage=static
[606] VAR 'bpf_get_func_ret' type_id=388, linkage=static
[607] VAR 'bpf_skb_get_xfrm_state' type_id=185, linkage=static
[608] VAR 'bpf_snprintf' type_id=355, linkage=static
[609] VAR 'bpf_sysctl_get_new_value' type_id=242, linkage=static
[610] VAR 'bpf_tcp_send_ack' type_id=105, linkage=static
[611] VAR 'bpf_skb_pull_data' type_id=133, linkage=static
[612] VAR 'bpf_map_update_elem' type_id=83, linkage=static
[613] VAR 'bpf_check_mtu' type_id=350, linkage=static
[614] VAR 'bpf_skb_change_proto' type_id=131, linkage=static
[615] VAR 'bpf_get_netns_cookie' type_id=146, linkage=static
[616] VAR 'bpf_current_task_under_cgroup' type_id=105, linkage=static
[617] VAR 'bpf_perf_event_read_value' type_id=160, linkage=static
[618] VAR 'bpf_skc_to_tcp_timewait_sock' type_id=291, linkage=static
[619] VAR 'bpf_seq_write' type_id=269, linkage=static
[620] VAR 'bpf_sysctl_set_new_value' type_id=244, linkage=static
[621] VAR 'bpf_skb_ancestor_cgroup_id' type_id=215, linkage=static
[622] VAR 'bpf_this_cpu_ptr' type_id=327, linkage=static
[623] VAR 'bpf_spin_unlock' type_id=227, linkage=static
[624] VAR 'bpf_btf_find_by_name_kind' type_id=359, linkage=static
[625] VAR 'bpf_skb_cgroup_id' type_id=208, linkage=static
[626] VAR 'bpf_ringbuf_reserve_dynptr' type_id=413, linkage=static
[627] VAR 'bpf_snprintf_btf' type_id=318, linkage=static
[628] VAR 'out__per_cpu_start' type_id=14, linkage=global
[629] VAR 'bpf_msg_pull_data' type_id=177, linkage=static
[630] VAR 'bpf_tail_call' type_id=101, linkage=static
[631] VAR 'bpf_task_storage_delete' type_id=331, linkage=static
[632] VAR 'bpf_strncmp' type_id=384, linkage=static
[633] VAR 'bpf_csum_update' type_id=137, linkage=static
[634] VAR 'bpf_msg_redirect_map' type_id=173, linkage=static
[635] VAR 'bpf_jiffies64' type_id=89, linkage=static
[636] VAR 'bpf_load_hdr_opt' type_id=305, linkage=static
[637] VAR 'bpf_get_socket_uid' type_id=107, linkage=static
[638] VAR 'bpf_rc_repeat' type_id=204, linkage=static
[639] VAR 'bpf_tcp_check_syncookie' type_id=236, linkage=static
[640] VAR 'bpf_timer_init' type_id=362, linkage=static
[641] VAR 'bpf_ringbuf_discard_dynptr' type_id=415, linkage=static
[642] VAR 'bpf_ktime_get_ns' type_id=89, linkage=static
[643] VAR 'bpf_skb_ecn_set_ce' type_id=111, linkage=static
[644] VAR 'bpf_tcp_raw_gen_syncookie_ipv4' type_id=425, linkage=static
[645] VAR 'bpf_ringbuf_query' type_id=116, linkage=static
[646] VAR 'bpf_skb_set_tunnel_key' type_id=114, linkage=static
[647] VAR 'bpf_timer_start' type_id=366, linkage=static
[648] VAR 'bpf_clone_redirect' type_id=103, linkage=static
[649] FUNC '(anon)' type_id=77 linkage=static
[650] FUNC '(anon)' type_id=82 linkage=static
[651] FUNC '(anon)' type_id=84 linkage=static
[652] FUNC '(anon)' type_id=86 linkage=static
[653] FUNC '(anon)' type_id=88 linkage=static
[654] FUNC '(anon)' type_id=90 linkage=static
[655] FUNC '(anon)' type_id=93 linkage=static
[656] FUNC '(anon)' type_id=95 linkage=static
[657] FUNC '(anon)' type_id=98 linkage=static
[658] FUNC '(anon)' type_id=100 linkage=static
[659] FUNC '(anon)' type_id=102 linkage=static
[660] FUNC '(anon)' type_id=104 linkage=static
[661] FUNC '(anon)' type_id=106 linkage=static
[662] FUNC '(anon)' type_id=108 linkage=static
[663] FUNC '(anon)' type_id=110 linkage=static
[664] FUNC '(anon)' type_id=112 linkage=static
[665] FUNC '(anon)' type_id=115 linkage=static
[666] FUNC '(anon)' type_id=117 linkage=static
[667] FUNC '(anon)' type_id=119 linkage=static
[668] FUNC '(anon)' type_id=121 linkage=static
[669] FUNC '(anon)' type_id=123 linkage=static
[670] FUNC '(anon)' type_id=125 linkage=static
[671] FUNC '(anon)' type_id=128 linkage=static
[672] FUNC '(anon)' type_id=130 linkage=static
[673] FUNC '(anon)' type_id=132 linkage=static
[674] FUNC '(anon)' type_id=134 linkage=static
[675] FUNC '(anon)' type_id=136 linkage=static
[676] FUNC '(anon)' type_id=138 linkage=static
[677] FUNC '(anon)' type_id=140 linkage=static
[678] FUNC '(anon)' type_id=142 linkage=static
[679] FUNC '(anon)' type_id=145 linkage=static
[680] FUNC '(anon)' type_id=147 linkage=static
[681] FUNC '(anon)' type_id=149 linkage=static
[682] FUNC '(anon)' type_id=151 linkage=static
[683] FUNC '(anon)' type_id=153 linkage=static
[684] FUNC '(anon)' type_id=155 linkage=static
[685] FUNC '(anon)' type_id=158 linkage=static
[686] FUNC '(anon)' type_id=161 linkage=static
[687] FUNC '(anon)' type_id=165 linkage=static
[688] FUNC '(anon)' type_id=169 linkage=static
[689] FUNC '(anon)' type_id=171 linkage=static
[690] FUNC '(anon)' type_id=174 linkage=static
[691] FUNC '(anon)' type_id=176 linkage=static
[692] FUNC '(anon)' type_id=178 linkage=static
[693] FUNC '(anon)' type_id=183 linkage=static
[694] FUNC '(anon)' type_id=186 linkage=static
[695] FUNC '(anon)' type_id=188 linkage=static
[696] FUNC '(anon)' type_id=190 linkage=static
[697] FUNC '(anon)' type_id=193 linkage=static
[698] FUNC '(anon)' type_id=195 linkage=static
[699] FUNC '(anon)' type_id=197 linkage=static
[700] FUNC '(anon)' type_id=199 linkage=static
[701] FUNC '(anon)' type_id=201 linkage=static
[702] FUNC '(anon)' type_id=203 linkage=static
[703] FUNC '(anon)' type_id=205 linkage=static
[704] FUNC '(anon)' type_id=207 linkage=static
[705] FUNC '(anon)' type_id=209 linkage=static
[706] FUNC '(anon)' type_id=211 linkage=static
[707] FUNC '(anon)' type_id=214 linkage=static
[708] FUNC '(anon)' type_id=216 linkage=static
[709] FUNC '(anon)' type_id=219 linkage=static
[710] FUNC '(anon)' type_id=221 linkage=static
[711] FUNC '(anon)' type_id=223 linkage=static
[712] FUNC '(anon)' type_id=225 linkage=static
[713] FUNC '(anon)' type_id=228 linkage=static
[714] FUNC '(anon)' type_id=231 linkage=static
[715] FUNC '(anon)' type_id=233 linkage=static
[716] FUNC '(anon)' type_id=237 linkage=static
[717] FUNC '(anon)' type_id=241 linkage=static
[718] FUNC '(anon)' type_id=243 linkage=static
[719] FUNC '(anon)' type_id=245 linkage=static
[720] FUNC '(anon)' type_id=248 linkage=static
[721] FUNC '(anon)' type_id=251 linkage=static
[722] FUNC '(anon)' type_id=253 linkage=static
[723] FUNC '(anon)' type_id=255 linkage=static
[724] FUNC '(anon)' type_id=257 linkage=static
[725] FUNC '(anon)' type_id=259 linkage=static
[726] FUNC '(anon)' type_id=262 linkage=static
[727] FUNC '(anon)' type_id=264 linkage=static
[728] FUNC '(anon)' type_id=268 linkage=static
[729] FUNC '(anon)' type_id=270 linkage=static
[730] FUNC '(anon)' type_id=272 linkage=static
[731] FUNC '(anon)' type_id=274 linkage=static
[732] FUNC '(anon)' type_id=276 linkage=static
[733] FUNC '(anon)' type_id=278 linkage=static
[734] FUNC '(anon)' type_id=282 linkage=static
[735] FUNC '(anon)' type_id=286 linkage=static
[736] FUNC '(anon)' type_id=290 linkage=static
[737] FUNC '(anon)' type_id=294 linkage=static
[738] FUNC '(anon)' type_id=298 linkage=static
[739] FUNC '(anon)' type_id=300 linkage=static
[740] FUNC '(anon)' type_id=304 linkage=static
[741] FUNC '(anon)' type_id=306 linkage=static
[742] FUNC '(anon)' type_id=308 linkage=static
[743] FUNC '(anon)' type_id=310 linkage=static
[744] FUNC '(anon)' type_id=312 linkage=static
[745] FUNC '(anon)' type_id=316 linkage=static
[746] FUNC '(anon)' type_id=319 linkage=static
[747] FUNC '(anon)' type_id=321 linkage=static
[748] FUNC '(anon)' type_id=324 linkage=static
[749] FUNC '(anon)' type_id=326 linkage=static
[750] FUNC '(anon)' type_id=328 linkage=static
[751] FUNC '(anon)' type_id=330 linkage=static
[752] FUNC '(anon)' type_id=332 linkage=static
[753] FUNC '(anon)' type_id=334 linkage=static
[754] FUNC '(anon)' type_id=338 linkage=static
[755] FUNC '(anon)' type_id=344 linkage=static
[756] FUNC '(anon)' type_id=348 linkage=static
[757] FUNC '(anon)' type_id=351 linkage=static
[758] FUNC '(anon)' type_id=353 linkage=static
[759] FUNC '(anon)' type_id=356 linkage=static
[760] FUNC '(anon)' type_id=358 linkage=static
[761] FUNC '(anon)' type_id=360 linkage=static
[762] FUNC '(anon)' type_id=363 linkage=static
[763] FUNC '(anon)' type_id=365 linkage=static
[764] FUNC '(anon)' type_id=367 linkage=static
[765] FUNC '(anon)' type_id=369 linkage=static
[766] FUNC '(anon)' type_id=371 linkage=static
[767] FUNC '(anon)' type_id=375 linkage=static
[768] FUNC '(anon)' type_id=377 linkage=static
[769] FUNC '(anon)' type_id=379 linkage=static
[770] FUNC '(anon)' type_id=381 linkage=static
[771] FUNC '(anon)' type_id=383 linkage=static
[772] FUNC '(anon)' type_id=385 linkage=static
[773] FUNC '(anon)' type_id=387 linkage=static
[774] FUNC '(anon)' type_id=389 linkage=static
[775] FUNC '(anon)' type_id=391 linkage=static
[776] FUNC '(anon)' type_id=393 linkage=static
[777] FUNC '(anon)' type_id=395 linkage=static
[778] FUNC '(anon)' type_id=397 linkage=static
[779] FUNC '(anon)' type_id=399 linkage=static
[780] FUNC '(anon)' type_id=401 linkage=static
[781] FUNC '(anon)' type_id=403 linkage=static
[782] FUNC '(anon)' type_id=405 linkage=static
[783] FUNC '(anon)' type_id=409 linkage=static
[784] FUNC '(anon)' type_id=411 linkage=static
[785] FUNC '(anon)' type_id=414 linkage=static
[786] FUNC '(anon)' type_id=416 linkage=static
[787] FUNC '(anon)' type_id=418 linkage=static
[788] FUNC '(anon)' type_id=420 linkage=static
[789] FUNC '(anon)' type_id=422 linkage=static
[790] FUNC '(anon)' type_id=426 linkage=static
[791] FUNC '(anon)' type_id=430 linkage=static
[792] FUNC '(anon)' type_id=432 linkage=static
[793] FUNC 'handler' type_id=435 linkage=global
[794] DATASEC 'license' size=0 vlen=1
        type_id=463 offset=0 size=4 (VAR '_license')
[795] DATASEC '.data' size=0 vlen=4
        type_id=628 offset=0 size=8 (VAR 'out__per_cpu_start')
        type_id=543 offset=0 size=8 (VAR 'out__btf_size')
        type_id=497 offset=0 size=8 (VAR 'out__bpf_link_fops1')
        type_id=536 offset=0 size=8 (VAR 'out__bpf_link_fops')

Working LLVM BTF Dump:
$ /home/buildroot/bpf-next-test/tools/testing/selftests/bpf/tools/sbin/bpftool
--debug btf dump file
/home/buildroot/bpf-next-test/tools/testing/selftests/bpf/test_ksyms.o format
raw
[1] PTR '(anon)' type_id=2
[2] CONST '(anon)' type_id=0
[3] FUNC_PROTO '(anon)' ret_type_id=4 vlen=1
        'ctx' type_id=1
[4] INT 'int' size=4 bits_offset=0 nr_bits=32 encoding=SIGNED
[5] FUNC 'handler' type_id=3 linkage=global
[6] TYPEDEF '__u64' type_id=7
[7] INT 'unsigned long long' size=8 bits_offset=0 nr_bits=64 encoding=(none)
[8] VAR 'out__bpf_link_fops' type_id=6, linkage=global
[9] VAR 'out__bpf_link_fops1' type_id=6, linkage=global
[10] VAR 'out__btf_size' type_id=6, linkage=global
[11] VAR 'out__per_cpu_start' type_id=6, linkage=global
[12] VAR 'bpf_link_fops' type_id=2, linkage=extern
[13] VAR '__stop_BTF' type_id=2, linkage=extern
[14] VAR '__start_BTF' type_id=2, linkage=extern
[15] VAR '__per_cpu_start' type_id=2, linkage=extern
[16] VAR 'bpf_link_fops1' type_id=2, linkage=extern
[17] INT 'char' size=1 bits_offset=0 nr_bits=8 encoding=SIGNED
[18] ARRAY '(anon)' type_id=17 index_type_id=19 nr_elems=4
[19] INT '__ARRAY_SIZE_TYPE__' size=4 bits_offset=0 nr_bits=32 encoding=(none)
[20] VAR '_license' type_id=18, linkage=global
[21] DATASEC '.data' size=0 vlen=4
        type_id=8 offset=0 size=8 (VAR 'out__bpf_link_fops')
        type_id=9 offset=0 size=8 (VAR 'out__bpf_link_fops1')
        type_id=10 offset=0 size=8 (VAR 'out__btf_size')
        type_id=11 offset=0 size=8 (VAR 'out__per_cpu_start')
[22] DATASEC '.ksyms' size=0 vlen=5
        type_id=12 offset=0 size=1 (VAR 'bpf_link_fops')
        type_id=13 offset=0 size=1 (VAR '__stop_BTF')
        type_id=14 offset=0 size=1 (VAR '__start_BTF')
        type_id=15 offset=0 size=1 (VAR '__per_cpu_start')
        type_id=16 offset=0 size=1 (VAR 'bpf_link_fops1')
[23] DATASEC 'license' size=0 vlen=1
        type_id=20 offset=0 size=4 (VAR '_license')

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/106773] libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops'
  2022-08-29 22:07 [Bug c/106773] New: libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops' james.hilliard1 at gmail dot com
@ 2022-09-01 20:31 ` james.hilliard1 at gmail dot com
  2022-09-01 22:33 ` james.hilliard1 at gmail dot com
                   ` (18 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: james.hilliard1 at gmail dot com @ 2022-09-01 20:31 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106773

--- Comment #1 from James Hilliard <james.hilliard1 at gmail dot com> ---
Getting a different error when running with:
https://patchwork.ozlabs.org/project/gcc/patch/20220901195340.10653-1-david.faust@oracle.com/

GCC gen object failure:
$ /home/buildroot/bpf-next-test/tools/testing/selftests/bpf/tools/sbin/bpftool
--debug gen object
/home/buildroot/bpf-next-test/tools/testing/selftests/bpf/bpf_gcc/test_ksyms.linked1.o
/home/buildroot/bpf-next-test/tools/testing/selftests/bpf/bpf_gcc/test_ksyms.o
libbpf: linker: adding object file
'/home/buildroot/bpf-next-test/tools/testing/selftests/bpf/bpf_gcc/test_ksyms.o'...
libbpf: failed to find symbol for variable 'bpf_link_fops1' in section '.ksyms'
Error: failed to link
'/home/buildroot/bpf-next-test/tools/testing/selftests/bpf/bpf_gcc/test_ksyms.o':
Unknown error -2 (-2)

GCC BTF dump:
$ /home/buildroot/bpf-next-test/tools/testing/selftests/bpf/tools/sbin/bpftool
--debug btf dump file
/home/buildroot/bpf-next-test/tools/testing/selftests/bpf/bpf_gcc/test_ksyms.o
format raw
[1] INT 'signed char' size=1 bits_offset=0 nr_bits=8 encoding=SIGNED
[2] INT 'unsigned char' size=1 bits_offset=0 nr_bits=8 encoding=(none)
[3] TYPEDEF '__u8' type_id=2
[4] INT 'short int' size=2 bits_offset=0 nr_bits=16 encoding=SIGNED
[5] INT 'short unsigned int' size=2 bits_offset=0 nr_bits=16 encoding=(none)
[6] TYPEDEF '__u16' type_id=5
[7] INT 'int' size=4 bits_offset=0 nr_bits=32 encoding=SIGNED
[8] TYPEDEF '__s32' type_id=7
[9] INT 'unsigned int' size=4 bits_offset=0 nr_bits=32 encoding=(none)
[10] TYPEDEF '__u32' type_id=9
[11] INT 'long long int' size=8 bits_offset=0 nr_bits=64 encoding=SIGNED
[12] TYPEDEF '__s64' type_id=11
[13] INT 'long long unsigned int' size=8 bits_offset=0 nr_bits=64
encoding=(none)
[14] TYPEDEF '__u64' type_id=13
[15] TYPEDEF '__be16' type_id=6
[16] TYPEDEF '__be32' type_id=10
[17] TYPEDEF '__wsum' type_id=10
[18] INT 'long unsigned int' size=8 bits_offset=0 nr_bits=64 encoding=(none)
[19] INT 'char' size=1 bits_offset=0 nr_bits=8 encoding=SIGNED
[20] CONST '(anon)' type_id=19
[21] UNION '(anon)' size=8 vlen=1
        'flow_keys' type_id=27 bits_offset=0
[22] STRUCT 'bpf_flow_keys' size=56 vlen=13
        'nhoff' type_id=6 bits_offset=0
        'thoff' type_id=6 bits_offset=16
        'addr_proto' type_id=6 bits_offset=32
        'is_frag' type_id=3 bits_offset=48
        'is_first_frag' type_id=3 bits_offset=56
        'is_encap' type_id=3 bits_offset=64
        'ip_proto' type_id=3 bits_offset=72
        'n_proto' type_id=15 bits_offset=80
        'sport' type_id=15 bits_offset=96
        'dport' type_id=15 bits_offset=112
        '(anon)' type_id=23 bits_offset=128
        'flags' type_id=10 bits_offset=384
        'flow_label' type_id=16 bits_offset=416
[23] UNION '(anon)' size=32 vlen=2
        '(anon)' type_id=24 bits_offset=0
        '(anon)' type_id=25 bits_offset=0
[24] STRUCT '(anon)' size=8 vlen=2
        'ipv4_src' type_id=16 bits_offset=0
        'ipv4_dst' type_id=16 bits_offset=32
[25] STRUCT '(anon)' size=32 vlen=2
        'ipv6_src' type_id=26 bits_offset=0
        'ipv6_dst' type_id=26 bits_offset=128
[26] ARRAY '(anon)' type_id=10 index_type_id=18 nr_elems=4
[27] PTR '(anon)' type_id=22
[28] UNION '(anon)' size=8 vlen=1
        'sk' type_id=30 bits_offset=0
[29] STRUCT 'bpf_sock' size=80 vlen=14
        'bound_dev_if' type_id=10 bits_offset=0
        'family' type_id=10 bits_offset=32
        'type' type_id=10 bits_offset=64
        'protocol' type_id=10 bits_offset=96
        'mark' type_id=10 bits_offset=128
        'priority' type_id=10 bits_offset=160
        'src_ip4' type_id=10 bits_offset=192
        'src_ip6' type_id=26 bits_offset=224
        'src_port' type_id=10 bits_offset=352
        'dst_port' type_id=15 bits_offset=384
        'dst_ip4' type_id=10 bits_offset=416
        'dst_ip6' type_id=26 bits_offset=448
        'state' type_id=10 bits_offset=576
        'rx_queue_mapping' type_id=8 bits_offset=608
[30] PTR '(anon)' type_id=29
[31] STRUCT '__sk_buff' size=192 vlen=34
        'len' type_id=10 bits_offset=0
        'pkt_type' type_id=10 bits_offset=32
        'mark' type_id=10 bits_offset=64
        'queue_mapping' type_id=10 bits_offset=96
        'protocol' type_id=10 bits_offset=128
        'vlan_present' type_id=10 bits_offset=160
        'vlan_tci' type_id=10 bits_offset=192
        'vlan_proto' type_id=10 bits_offset=224
        'priority' type_id=10 bits_offset=256
        'ingress_ifindex' type_id=10 bits_offset=288
        'ifindex' type_id=10 bits_offset=320
        'tc_index' type_id=10 bits_offset=352
        'cb' type_id=32 bits_offset=384
        'hash' type_id=10 bits_offset=544
        'tc_classid' type_id=10 bits_offset=576
        'data' type_id=10 bits_offset=608
        'data_end' type_id=10 bits_offset=640
        'napi_id' type_id=10 bits_offset=672
        'family' type_id=10 bits_offset=704
        'remote_ip4' type_id=10 bits_offset=736
        'local_ip4' type_id=10 bits_offset=768
        'remote_ip6' type_id=26 bits_offset=800
        'local_ip6' type_id=26 bits_offset=928
        'remote_port' type_id=10 bits_offset=1056
        'local_port' type_id=10 bits_offset=1088
        'data_meta' type_id=10 bits_offset=1120
        '(anon)' type_id=21 bits_offset=1152
        'tstamp' type_id=14 bits_offset=1216
        'wire_len' type_id=10 bits_offset=1280
        'gso_segs' type_id=10 bits_offset=1312
        '(anon)' type_id=28 bits_offset=1344
        'gso_size' type_id=10 bits_offset=1408
        'tstamp_type' type_id=3 bits_offset=1440
        'hwtstamp' type_id=14 bits_offset=1472
[32] ARRAY '(anon)' type_id=10 index_type_id=18 nr_elems=5
[33] UNION '(anon)' size=16 vlen=2
        'remote_ipv4' type_id=10 bits_offset=0
        'remote_ipv6' type_id=26 bits_offset=0
[34] UNION '(anon)' size=16 vlen=2
        'local_ipv4' type_id=10 bits_offset=0
        'local_ipv6' type_id=26 bits_offset=0
[35] STRUCT 'bpf_tunnel_key' size=44 vlen=7
        'tunnel_id' type_id=10 bits_offset=0
        '(anon)' type_id=33 bits_offset=32
        'tunnel_tos' type_id=3 bits_offset=160
        'tunnel_ttl' type_id=3 bits_offset=168
        'tunnel_ext' type_id=6 bits_offset=176
        'tunnel_label' type_id=10 bits_offset=192
        '(anon)' type_id=34 bits_offset=224
[36] UNION '(anon)' size=16 vlen=2
        'remote_ipv4' type_id=10 bits_offset=0
        'remote_ipv6' type_id=26 bits_offset=0
[37] STRUCT 'bpf_xfrm_state' size=28 vlen=5
        'reqid' type_id=10 bits_offset=0
        'spi' type_id=10 bits_offset=32
        'family' type_id=6 bits_offset=64
        'ext' type_id=6 bits_offset=80
        '(anon)' type_id=36 bits_offset=96
[38] STRUCT 'bpf_tcp_sock' size=112 vlen=26
        'snd_cwnd' type_id=10 bits_offset=0
        'srtt_us' type_id=10 bits_offset=32
        'rtt_min' type_id=10 bits_offset=64
        'snd_ssthresh' type_id=10 bits_offset=96
        'rcv_nxt' type_id=10 bits_offset=128
        'snd_nxt' type_id=10 bits_offset=160
        'snd_una' type_id=10 bits_offset=192
        'mss_cache' type_id=10 bits_offset=224
        'ecn_flags' type_id=10 bits_offset=256
        'rate_delivered' type_id=10 bits_offset=288
        'rate_interval_us' type_id=10 bits_offset=320
        'packets_out' type_id=10 bits_offset=352
        'retrans_out' type_id=10 bits_offset=384
        'total_retrans' type_id=10 bits_offset=416
        'segs_in' type_id=10 bits_offset=448
        'data_segs_in' type_id=10 bits_offset=480
        'segs_out' type_id=10 bits_offset=512
        'data_segs_out' type_id=10 bits_offset=544
        'lost_out' type_id=10 bits_offset=576
        'sacked_out' type_id=10 bits_offset=608
        'bytes_received' type_id=14 bits_offset=640
        'bytes_acked' type_id=14 bits_offset=704
        'dsack_dups' type_id=10 bits_offset=768
        'delivered' type_id=10 bits_offset=800
        'delivered_ce' type_id=10 bits_offset=832
        'icsk_retransmits' type_id=10 bits_offset=864
[39] STRUCT '(anon)' size=12 vlen=4
        'saddr' type_id=16 bits_offset=0
        'daddr' type_id=16 bits_offset=32
        'sport' type_id=15 bits_offset=64
        'dport' type_id=15 bits_offset=80
[40] STRUCT '(anon)' size=36 vlen=4
        'saddr' type_id=41 bits_offset=0
        'daddr' type_id=41 bits_offset=128
        'sport' type_id=15 bits_offset=256
        'dport' type_id=15 bits_offset=272
[41] ARRAY '(anon)' type_id=16 index_type_id=18 nr_elems=4
[42] UNION '(anon)' size=36 vlen=2
        'ipv4' type_id=39 bits_offset=0
        'ipv6' type_id=40 bits_offset=0
[43] STRUCT 'bpf_sock_tuple' size=36 vlen=1
        '(anon)' type_id=42 bits_offset=0
[44] STRUCT 'xdp_md' size=24 vlen=6
        'data' type_id=10 bits_offset=0
        'data_end' type_id=10 bits_offset=32
        'data_meta' type_id=10 bits_offset=64
        'ingress_ifindex' type_id=10 bits_offset=96
        'rx_queue_index' type_id=10 bits_offset=128
        'egress_ifindex' type_id=10 bits_offset=160
[45] UNION '(anon)' size=8 vlen=1
        'data' type_id=46 bits_offset=0
[46] PTR '(anon)' type_id=0
[47] UNION '(anon)' size=8 vlen=1
        'data_end' type_id=46 bits_offset=0
[48] UNION '(anon)' size=8 vlen=1
        'sk' type_id=30 bits_offset=0
[49] STRUCT 'sk_msg_md' size=80 vlen=11
        '(anon)' type_id=45 bits_offset=0
        '(anon)' type_id=47 bits_offset=64
        'family' type_id=10 bits_offset=128
        'remote_ip4' type_id=10 bits_offset=160
        'local_ip4' type_id=10 bits_offset=192
        'remote_ip6' type_id=26 bits_offset=224
        'local_ip6' type_id=26 bits_offset=352
        'remote_port' type_id=10 bits_offset=480
        'local_port' type_id=10 bits_offset=512
        'size' type_id=10 bits_offset=544
        '(anon)' type_id=48 bits_offset=576
[50] UNION '(anon)' size=8 vlen=1
        'data' type_id=46 bits_offset=0
[51] UNION '(anon)' size=8 vlen=1
        'data_end' type_id=46 bits_offset=0
[52] UNION '(anon)' size=8 vlen=1
        'sk' type_id=30 bits_offset=0
[53] UNION '(anon)' size=8 vlen=1
        'migrating_sk' type_id=30 bits_offset=0
[54] STRUCT 'sk_reuseport_md' size=56 vlen=9
        '(anon)' type_id=50 bits_offset=0
        '(anon)' type_id=51 bits_offset=64
        'len' type_id=10 bits_offset=128
        'eth_protocol' type_id=10 bits_offset=160
        'ip_protocol' type_id=10 bits_offset=192
        'bind_inany' type_id=10 bits_offset=224
        'hash' type_id=10 bits_offset=256
        '(anon)' type_id=52 bits_offset=320
        '(anon)' type_id=53 bits_offset=384
[55] UNION '(anon)' size=8 vlen=1
        'sk' type_id=30 bits_offset=0
[56] STRUCT 'bpf_sock_addr' size=72 vlen=10
        'user_family' type_id=10 bits_offset=0
        'user_ip4' type_id=10 bits_offset=32
        'user_ip6' type_id=26 bits_offset=64
        'user_port' type_id=10 bits_offset=192
        'family' type_id=10 bits_offset=224
        'type' type_id=10 bits_offset=256
        'protocol' type_id=10 bits_offset=288
        'msg_src_ip4' type_id=10 bits_offset=320
        'msg_src_ip6' type_id=26 bits_offset=352
        '(anon)' type_id=55 bits_offset=512
[57] UNION '(anon)' size=16 vlen=3
        'args' type_id=26 bits_offset=0
        'reply' type_id=10 bits_offset=0
        'replylong' type_id=26 bits_offset=0
[58] UNION '(anon)' size=8 vlen=1
        'sk' type_id=30 bits_offset=0
[59] UNION '(anon)' size=8 vlen=1
        'skb_data' type_id=46 bits_offset=0
[60] UNION '(anon)' size=8 vlen=1
        'skb_data_end' type_id=46 bits_offset=0
[61] STRUCT 'bpf_sock_ops' size=216 vlen=40
        'op' type_id=10 bits_offset=0
        '(anon)' type_id=57 bits_offset=32
        'family' type_id=10 bits_offset=160
        'remote_ip4' type_id=10 bits_offset=192
        'local_ip4' type_id=10 bits_offset=224
        'remote_ip6' type_id=26 bits_offset=256
        'local_ip6' type_id=26 bits_offset=384
        'remote_port' type_id=10 bits_offset=512
        'local_port' type_id=10 bits_offset=544
        'is_fullsock' type_id=10 bits_offset=576
        'snd_cwnd' type_id=10 bits_offset=608
        'srtt_us' type_id=10 bits_offset=640
        'bpf_sock_ops_cb_flags' type_id=10 bits_offset=672
        'state' type_id=10 bits_offset=704
        'rtt_min' type_id=10 bits_offset=736
        'snd_ssthresh' type_id=10 bits_offset=768
        'rcv_nxt' type_id=10 bits_offset=800
        'snd_nxt' type_id=10 bits_offset=832
        'snd_una' type_id=10 bits_offset=864
        'mss_cache' type_id=10 bits_offset=896
        'ecn_flags' type_id=10 bits_offset=928
        'rate_delivered' type_id=10 bits_offset=960
        'rate_interval_us' type_id=10 bits_offset=992
        'packets_out' type_id=10 bits_offset=1024
        'retrans_out' type_id=10 bits_offset=1056
        'total_retrans' type_id=10 bits_offset=1088
        'segs_in' type_id=10 bits_offset=1120
        'data_segs_in' type_id=10 bits_offset=1152
        'segs_out' type_id=10 bits_offset=1184
        'data_segs_out' type_id=10 bits_offset=1216
        'lost_out' type_id=10 bits_offset=1248
        'sacked_out' type_id=10 bits_offset=1280
        'sk_txhash' type_id=10 bits_offset=1312
        'bytes_received' type_id=14 bits_offset=1344
        'bytes_acked' type_id=14 bits_offset=1408
        '(anon)' type_id=58 bits_offset=1472
        '(anon)' type_id=59 bits_offset=1536
        '(anon)' type_id=60 bits_offset=1600
        'skb_len' type_id=10 bits_offset=1664
        'skb_tcp_flags' type_id=10 bits_offset=1696
[62] STRUCT 'bpf_perf_event_value' size=24 vlen=3
        'counter' type_id=14 bits_offset=0
        'enabled' type_id=14 bits_offset=64
        'running' type_id=14 bits_offset=128
[63] UNION '(anon)' size=2 vlen=2
        'tot_len' type_id=6 bits_offset=0
        'mtu_result' type_id=6 bits_offset=0
[64] UNION '(anon)' size=4 vlen=3
        'tos' type_id=3 bits_offset=0
        'flowinfo' type_id=16 bits_offset=0
        'rt_metric' type_id=10 bits_offset=0
[65] UNION '(anon)' size=16 vlen=2
        'ipv4_src' type_id=16 bits_offset=0
        'ipv6_src' type_id=26 bits_offset=0
[66] UNION '(anon)' size=16 vlen=2
        'ipv4_dst' type_id=16 bits_offset=0
        'ipv6_dst' type_id=26 bits_offset=0
[67] STRUCT 'bpf_fib_lookup' size=64 vlen=13
        'family' type_id=3 bits_offset=0
        'l4_protocol' type_id=3 bits_offset=8
        'sport' type_id=15 bits_offset=16
        'dport' type_id=15 bits_offset=32
        '(anon)' type_id=63 bits_offset=48
        'ifindex' type_id=10 bits_offset=64
        '(anon)' type_id=64 bits_offset=96
        '(anon)' type_id=65 bits_offset=128
        '(anon)' type_id=66 bits_offset=256
        'h_vlan_proto' type_id=15 bits_offset=384
        'h_vlan_TCI' type_id=15 bits_offset=400
        'smac' type_id=68 bits_offset=416
        'dmac' type_id=68 bits_offset=464
[68] ARRAY '(anon)' type_id=3 index_type_id=18 nr_elems=6
[69] UNION '(anon)' size=16 vlen=2
        'ipv4_nh' type_id=16 bits_offset=0
        'ipv6_nh' type_id=26 bits_offset=0
[70] STRUCT 'bpf_redir_neigh' size=20 vlen=2
        'nh_family' type_id=10 bits_offset=0
        '(anon)' type_id=69 bits_offset=32
[71] STRUCT 'bpf_spin_lock' size=4 vlen=1
        'val' type_id=10 bits_offset=0
[72] STRUCT 'bpf_timer' size=16 vlen=0
[73] STRUCT 'bpf_dynptr' size=16 vlen=0
[74] STRUCT 'bpf_sysctl' size=8 vlen=2
        'write' type_id=10 bits_offset=0
        'file_pos' type_id=10 bits_offset=32
[75] STRUCT 'bpf_pidns_info' size=8 vlen=2
        'pid' type_id=10 bits_offset=0
        'tgid' type_id=10 bits_offset=32
[76] STRUCT 'btf_ptr' size=16 vlen=3
        'ptr' type_id=46 bits_offset=0
        'type_id' type_id=10 bits_offset=64
        'flags' type_id=10 bits_offset=96
[77] FUNC_PROTO '(anon)' ret_type_id=46 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=79
[78] CONST '(anon)' type_id=0
[79] PTR '(anon)' type_id=78
[80] PTR '(anon)' type_id=77
[81] INT 'long int' size=8 bits_offset=0 nr_bits=64 encoding=SIGNED
[82] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=46
        '(anon)' type_id=79
        '(anon)' type_id=79
        '(anon)' type_id=14
[83] PTR '(anon)' type_id=82
[84] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=79
[85] PTR '(anon)' type_id=84
[86] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=79
[87] PTR '(anon)' type_id=86
[88] FUNC_PROTO '(anon)' ret_type_id=14 vlen=0
[89] PTR '(anon)' type_id=88
[90] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=91
        '(anon)' type_id=10
        '(anon)' type_id=0
[91] PTR '(anon)' type_id=20
[92] PTR '(anon)' type_id=90
[93] FUNC_PROTO '(anon)' ret_type_id=10 vlen=0
[94] PTR '(anon)' type_id=93
[95] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=96
        '(anon)' type_id=10
        '(anon)' type_id=79
        '(anon)' type_id=10
        '(anon)' type_id=14
[96] PTR '(anon)' type_id=31
[97] PTR '(anon)' type_id=95
[98] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=96
        '(anon)' type_id=10
        '(anon)' type_id=14
        '(anon)' type_id=14
        '(anon)' type_id=14
[99] PTR '(anon)' type_id=98
[100] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=10
[101] PTR '(anon)' type_id=100
[102] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=96
        '(anon)' type_id=10
        '(anon)' type_id=14
[103] PTR '(anon)' type_id=102
[104] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=10
[105] PTR '(anon)' type_id=104
[106] FUNC_PROTO '(anon)' ret_type_id=10 vlen=1
        '(anon)' type_id=96
[107] PTR '(anon)' type_id=106
[108] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=96
        '(anon)' type_id=15
        '(anon)' type_id=6
[109] PTR '(anon)' type_id=108
[110] FUNC_PROTO '(anon)' ret_type_id=81 vlen=1
        '(anon)' type_id=96
[111] PTR '(anon)' type_id=110
[112] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=96
        '(anon)' type_id=113
        '(anon)' type_id=10
        '(anon)' type_id=14
[113] PTR '(anon)' type_id=35
[114] PTR '(anon)' type_id=112
[115] FUNC_PROTO '(anon)' ret_type_id=14 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=14
[116] PTR '(anon)' type_id=115
[117] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=10
        '(anon)' type_id=14
[118] PTR '(anon)' type_id=117
[119] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=14
        '(anon)' type_id=46
        '(anon)' type_id=14
[120] PTR '(anon)' type_id=119
[121] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=79
        '(anon)' type_id=10
        '(anon)' type_id=46
        '(anon)' type_id=10
[122] PTR '(anon)' type_id=121
[123] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=14
[124] PTR '(anon)' type_id=123
[125] FUNC_PROTO '(anon)' ret_type_id=12 vlen=5
        '(anon)' type_id=126
        '(anon)' type_id=10
        '(anon)' type_id=126
        '(anon)' type_id=10
        '(anon)' type_id=17
[126] PTR '(anon)' type_id=16
[127] PTR '(anon)' type_id=125
[128] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=96
        '(anon)' type_id=46
        '(anon)' type_id=10
[129] PTR '(anon)' type_id=128
[130] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=96
        '(anon)' type_id=15
        '(anon)' type_id=14
[131] PTR '(anon)' type_id=130
[132] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=96
        '(anon)' type_id=10
[133] PTR '(anon)' type_id=132
[134] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=46
        '(anon)' type_id=79
        '(anon)' type_id=10
[135] PTR '(anon)' type_id=134
[136] FUNC_PROTO '(anon)' ret_type_id=12 vlen=2
        '(anon)' type_id=96
        '(anon)' type_id=17
[137] PTR '(anon)' type_id=136
[138] FUNC_PROTO '(anon)' ret_type_id=0 vlen=1
        '(anon)' type_id=96
[139] PTR '(anon)' type_id=138
[140] FUNC_PROTO '(anon)' ret_type_id=81 vlen=0
[141] PTR '(anon)' type_id=140
[142] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=143
        '(anon)' type_id=7
[143] PTR '(anon)' type_id=44
[144] PTR '(anon)' type_id=142
[145] FUNC_PROTO '(anon)' ret_type_id=14 vlen=1
        '(anon)' type_id=46
[146] PTR '(anon)' type_id=145
[147] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=46
        '(anon)' type_id=7
        '(anon)' type_id=7
        '(anon)' type_id=46
        '(anon)' type_id=7
[148] PTR '(anon)' type_id=147
[149] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=96
        '(anon)' type_id=8
        '(anon)' type_id=10
        '(anon)' type_id=14
[150] PTR '(anon)' type_id=149
[151] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=14
[152] PTR '(anon)' type_id=151
[153] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=96
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=14
[154] PTR '(anon)' type_id=153
[155] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=156
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=14
[156] PTR '(anon)' type_id=61
[157] PTR '(anon)' type_id=155
[158] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=46
        '(anon)' type_id=14
        '(anon)' type_id=159
        '(anon)' type_id=10
[159] PTR '(anon)' type_id=62
[160] PTR '(anon)' type_id=158
[161] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=163
        '(anon)' type_id=159
        '(anon)' type_id=10
[162] FWD 'bpf_perf_event_data' fwd_kind=struct
[163] PTR '(anon)' type_id=162
[164] PTR '(anon)' type_id=161
[165] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=167
        '(anon)' type_id=14
[166] FWD 'pt_regs' fwd_kind=struct
[167] PTR '(anon)' type_id=166
[168] PTR '(anon)' type_id=165
[169] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=156
        '(anon)' type_id=7
[170] PTR '(anon)' type_id=169
[171] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=172
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=14
[172] PTR '(anon)' type_id=49
[173] PTR '(anon)' type_id=171
[174] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=172
        '(anon)' type_id=10
[175] PTR '(anon)' type_id=174
[176] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=172
        '(anon)' type_id=10
        '(anon)' type_id=10
        '(anon)' type_id=14
[177] PTR '(anon)' type_id=176
[178] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=179
        '(anon)' type_id=181
        '(anon)' type_id=7
[179] PTR '(anon)' type_id=56
[180] FWD 'sockaddr' fwd_kind=struct
[181] PTR '(anon)' type_id=180
[182] PTR '(anon)' type_id=178
[183] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=96
        '(anon)' type_id=10
        '(anon)' type_id=184
        '(anon)' type_id=10
        '(anon)' type_id=14
[184] PTR '(anon)' type_id=37
[185] PTR '(anon)' type_id=183
[186] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=14
[187] PTR '(anon)' type_id=186
[188] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=79
        '(anon)' type_id=10
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=10
[189] PTR '(anon)' type_id=188
[190] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=46
        '(anon)' type_id=191
        '(anon)' type_id=7
        '(anon)' type_id=10
[191] PTR '(anon)' type_id=67
[192] PTR '(anon)' type_id=190
[193] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=172
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=14
[194] PTR '(anon)' type_id=193
[195] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=96
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=14
[196] PTR '(anon)' type_id=195
[197] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=96
        '(anon)' type_id=10
        '(anon)' type_id=46
        '(anon)' type_id=10
[198] PTR '(anon)' type_id=197
[199] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=96
        '(anon)' type_id=10
        '(anon)' type_id=79
        '(anon)' type_id=10
[200] PTR '(anon)' type_id=199
[201] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=96
        '(anon)' type_id=10
        '(anon)' type_id=8
[202] PTR '(anon)' type_id=201
[203] FUNC_PROTO '(anon)' ret_type_id=81 vlen=1
        '(anon)' type_id=46
[204] PTR '(anon)' type_id=203
[205] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=14
        '(anon)' type_id=10
[206] PTR '(anon)' type_id=205
[207] FUNC_PROTO '(anon)' ret_type_id=14 vlen=1
        '(anon)' type_id=96
[208] PTR '(anon)' type_id=207
[209] FUNC_PROTO '(anon)' ret_type_id=46 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=14
[210] PTR '(anon)' type_id=209
[211] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=212
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=14
[212] PTR '(anon)' type_id=54
[213] PTR '(anon)' type_id=211
[214] FUNC_PROTO '(anon)' ret_type_id=14 vlen=2
        '(anon)' type_id=96
        '(anon)' type_id=7
[215] PTR '(anon)' type_id=214
[216] FUNC_PROTO '(anon)' ret_type_id=30 vlen=5
        '(anon)' type_id=46
        '(anon)' type_id=217
        '(anon)' type_id=10
        '(anon)' type_id=14
        '(anon)' type_id=14
[217] PTR '(anon)' type_id=43
[218] PTR '(anon)' type_id=216
[219] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=46
        '(anon)' type_id=79
        '(anon)' type_id=14
[220] PTR '(anon)' type_id=219
[221] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=46
[222] PTR '(anon)' type_id=221
[223] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=46
        '(anon)' type_id=8
        '(anon)' type_id=8
[224] PTR '(anon)' type_id=223
[225] FUNC_PROTO '(anon)' ret_type_id=81 vlen=1
        '(anon)' type_id=226
[226] PTR '(anon)' type_id=71
[227] PTR '(anon)' type_id=225
[228] FUNC_PROTO '(anon)' ret_type_id=30 vlen=1
        '(anon)' type_id=30
[229] PTR '(anon)' type_id=228
[230] PTR '(anon)' type_id=38
[231] FUNC_PROTO '(anon)' ret_type_id=230 vlen=1
        '(anon)' type_id=30
[232] PTR '(anon)' type_id=231
[233] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=235
        '(anon)' type_id=10
[234] FWD 'tcphdr' fwd_kind=struct
[235] PTR '(anon)' type_id=234
[236] PTR '(anon)' type_id=233
[237] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=238
        '(anon)' type_id=239
        '(anon)' type_id=18
        '(anon)' type_id=14
[238] PTR '(anon)' type_id=74
[239] PTR '(anon)' type_id=19
[240] PTR '(anon)' type_id=237
[241] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=238
        '(anon)' type_id=239
        '(anon)' type_id=18
[242] PTR '(anon)' type_id=241
[243] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=238
        '(anon)' type_id=91
        '(anon)' type_id=18
[244] PTR '(anon)' type_id=243
[245] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=91
        '(anon)' type_id=18
        '(anon)' type_id=14
        '(anon)' type_id=246
[246] PTR '(anon)' type_id=81
[247] PTR '(anon)' type_id=245
[248] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=91
        '(anon)' type_id=18
        '(anon)' type_id=14
        '(anon)' type_id=249
[249] PTR '(anon)' type_id=18
[250] PTR '(anon)' type_id=248
[251] FUNC_PROTO '(anon)' ret_type_id=46 vlen=4
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=14
[252] PTR '(anon)' type_id=251
[253] FUNC_PROTO '(anon)' ret_type_id=81 vlen=1
        '(anon)' type_id=10
[254] PTR '(anon)' type_id=253
[255] FUNC_PROTO '(anon)' ret_type_id=12 vlen=5
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=235
        '(anon)' type_id=10
[256] PTR '(anon)' type_id=255
[257] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=163
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=14
[258] PTR '(anon)' type_id=257
[259] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=14
        '(anon)' type_id=14
        '(anon)' type_id=260
        '(anon)' type_id=10
[260] PTR '(anon)' type_id=75
[261] PTR '(anon)' type_id=259
[262] FUNC_PROTO '(anon)' ret_type_id=14 vlen=1
        '(anon)' type_id=7
[263] PTR '(anon)' type_id=262
[264] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=266
        '(anon)' type_id=91
        '(anon)' type_id=10
        '(anon)' type_id=79
        '(anon)' type_id=10
[265] FWD 'seq_file' fwd_kind=struct
[266] PTR '(anon)' type_id=265
[267] PTR '(anon)' type_id=264
[268] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=266
        '(anon)' type_id=79
        '(anon)' type_id=10
[269] PTR '(anon)' type_id=268
[270] FUNC_PROTO '(anon)' ret_type_id=14 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=7
[271] PTR '(anon)' type_id=270
[272] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=14
        '(anon)' type_id=14
[273] PTR '(anon)' type_id=272
[274] FUNC_PROTO '(anon)' ret_type_id=46 vlen=3
        '(anon)' type_id=46
        '(anon)' type_id=14
        '(anon)' type_id=14
[275] PTR '(anon)' type_id=274
[276] FUNC_PROTO '(anon)' ret_type_id=0 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=14
[277] PTR '(anon)' type_id=276
[278] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=96
        '(anon)' type_id=14
[279] PTR '(anon)' type_id=278
[280] FWD 'tcp6_sock' fwd_kind=struct
[281] PTR '(anon)' type_id=280
[282] FUNC_PROTO '(anon)' ret_type_id=281 vlen=1
        '(anon)' type_id=46
[283] PTR '(anon)' type_id=282
[284] FWD 'tcp_sock' fwd_kind=struct
[285] PTR '(anon)' type_id=284
[286] FUNC_PROTO '(anon)' ret_type_id=285 vlen=1
        '(anon)' type_id=46
[287] PTR '(anon)' type_id=286
[288] FWD 'tcp_timewait_sock' fwd_kind=struct
[289] PTR '(anon)' type_id=288
[290] FUNC_PROTO '(anon)' ret_type_id=289 vlen=1
        '(anon)' type_id=46
[291] PTR '(anon)' type_id=290
[292] FWD 'tcp_request_sock' fwd_kind=struct
[293] PTR '(anon)' type_id=292
[294] FUNC_PROTO '(anon)' ret_type_id=293 vlen=1
        '(anon)' type_id=46
[295] PTR '(anon)' type_id=294
[296] FWD 'udp6_sock' fwd_kind=struct
[297] PTR '(anon)' type_id=296
[298] FUNC_PROTO '(anon)' ret_type_id=297 vlen=1
        '(anon)' type_id=46
[299] PTR '(anon)' type_id=298
[300] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=302
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=14
[301] FWD 'task_struct' fwd_kind=struct
[302] PTR '(anon)' type_id=301
[303] PTR '(anon)' type_id=300
[304] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=156
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=14
[305] PTR '(anon)' type_id=304
[306] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=156
        '(anon)' type_id=79
        '(anon)' type_id=10
        '(anon)' type_id=14
[307] PTR '(anon)' type_id=306
[308] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=156
        '(anon)' type_id=10
        '(anon)' type_id=14
[309] PTR '(anon)' type_id=308
[310] FUNC_PROTO '(anon)' ret_type_id=7 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=46
[311] PTR '(anon)' type_id=310
[312] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=314
        '(anon)' type_id=239
        '(anon)' type_id=10
[313] FWD 'path' fwd_kind=struct
[314] PTR '(anon)' type_id=313
[315] PTR '(anon)' type_id=312
[316] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=239
        '(anon)' type_id=10
        '(anon)' type_id=317
        '(anon)' type_id=10
        '(anon)' type_id=14
[317] PTR '(anon)' type_id=76
[318] PTR '(anon)' type_id=316
[319] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=266
        '(anon)' type_id=317
        '(anon)' type_id=10
        '(anon)' type_id=14
[320] PTR '(anon)' type_id=319
[321] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=10
        '(anon)' type_id=322
        '(anon)' type_id=7
        '(anon)' type_id=14
[322] PTR '(anon)' type_id=70
[323] PTR '(anon)' type_id=321
[324] FUNC_PROTO '(anon)' ret_type_id=46 vlen=2
        '(anon)' type_id=79
        '(anon)' type_id=10
[325] PTR '(anon)' type_id=324
[326] FUNC_PROTO '(anon)' ret_type_id=46 vlen=1
        '(anon)' type_id=79
[327] PTR '(anon)' type_id=326
[328] FUNC_PROTO '(anon)' ret_type_id=46 vlen=4
        '(anon)' type_id=46
        '(anon)' type_id=302
        '(anon)' type_id=46
        '(anon)' type_id=14
[329] PTR '(anon)' type_id=328
[330] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=302
[331] PTR '(anon)' type_id=330
[332] FUNC_PROTO '(anon)' ret_type_id=302 vlen=0
[333] PTR '(anon)' type_id=332
[334] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=336
        '(anon)' type_id=14
[335] FWD 'linux_binprm' fwd_kind=struct
[336] PTR '(anon)' type_id=335
[337] PTR '(anon)' type_id=334
[338] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=340
        '(anon)' type_id=46
        '(anon)' type_id=10
[339] FWD 'inode' fwd_kind=struct
[340] PTR '(anon)' type_id=339
[341] PTR '(anon)' type_id=338
[342] FWD 'socket' fwd_kind=struct
[343] PTR '(anon)' type_id=342
[344] FUNC_PROTO '(anon)' ret_type_id=343 vlen=1
        '(anon)' type_id=346
[345] FWD 'file' fwd_kind=struct
[346] PTR '(anon)' type_id=345
[347] PTR '(anon)' type_id=344
[348] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=349
        '(anon)' type_id=8
        '(anon)' type_id=14
[349] PTR '(anon)' type_id=10
[350] PTR '(anon)' type_id=348
[351] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=14
[352] PTR '(anon)' type_id=351
[353] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=239
        '(anon)' type_id=10
        '(anon)' type_id=91
        '(anon)' type_id=354
        '(anon)' type_id=10
[354] PTR '(anon)' type_id=14
[355] PTR '(anon)' type_id=353
[356] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=10
        '(anon)' type_id=46
        '(anon)' type_id=10
[357] PTR '(anon)' type_id=356
[358] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=239
        '(anon)' type_id=7
        '(anon)' type_id=10
        '(anon)' type_id=7
[359] PTR '(anon)' type_id=358
[360] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=361
        '(anon)' type_id=46
        '(anon)' type_id=14
[361] PTR '(anon)' type_id=72
[362] PTR '(anon)' type_id=360
[363] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=361
        '(anon)' type_id=46
[364] PTR '(anon)' type_id=363
[365] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=361
        '(anon)' type_id=14
        '(anon)' type_id=14
[366] PTR '(anon)' type_id=365
[367] FUNC_PROTO '(anon)' ret_type_id=81 vlen=1
        '(anon)' type_id=361
[368] PTR '(anon)' type_id=367
[369] FUNC_PROTO '(anon)' ret_type_id=81 vlen=1
        '(anon)' type_id=302
[370] PTR '(anon)' type_id=369
[371] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=91
        '(anon)' type_id=10
        '(anon)' type_id=79
        '(anon)' type_id=10
[372] PTR '(anon)' type_id=371
[373] FWD 'unix_sock' fwd_kind=struct
[374] PTR '(anon)' type_id=373
[375] FUNC_PROTO '(anon)' ret_type_id=374 vlen=1
        '(anon)' type_id=46
[376] PTR '(anon)' type_id=375
[377] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=91
        '(anon)' type_id=7
        '(anon)' type_id=7
        '(anon)' type_id=354
[378] PTR '(anon)' type_id=377
[379] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=302
        '(anon)' type_id=14
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=14
[380] PTR '(anon)' type_id=379
[381] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=10
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=14
[382] PTR '(anon)' type_id=381
[383] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=91
        '(anon)' type_id=10
        '(anon)' type_id=91
[384] PTR '(anon)' type_id=383
[385] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=354
[386] PTR '(anon)' type_id=385
[387] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=354
[388] PTR '(anon)' type_id=387
[389] FUNC_PROTO '(anon)' ret_type_id=7 vlen=0
[390] PTR '(anon)' type_id=389
[391] FUNC_PROTO '(anon)' ret_type_id=7 vlen=1
        '(anon)' type_id=7
[392] PTR '(anon)' type_id=391
[393] FUNC_PROTO '(anon)' ret_type_id=14 vlen=1
        '(anon)' type_id=143
[394] PTR '(anon)' type_id=393
[395] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=143
        '(anon)' type_id=10
        '(anon)' type_id=46
        '(anon)' type_id=10
[396] PTR '(anon)' type_id=395
[397] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=79
        '(anon)' type_id=302
        '(anon)' type_id=14
[398] PTR '(anon)' type_id=397
[399] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=96
        '(anon)' type_id=14
        '(anon)' type_id=10
[400] PTR '(anon)' type_id=399
[401] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=346
        '(anon)' type_id=46
        '(anon)' type_id=10
[402] PTR '(anon)' type_id=401
[403] FUNC_PROTO '(anon)' ret_type_id=46 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=46
[404] PTR '(anon)' type_id=403
[405] FUNC_PROTO '(anon)' ret_type_id=46 vlen=3
        '(anon)' type_id=46
        '(anon)' type_id=79
        '(anon)' type_id=10
[406] PTR '(anon)' type_id=405
[407] FWD 'mptcp_sock' fwd_kind=struct
[408] PTR '(anon)' type_id=407
[409] FUNC_PROTO '(anon)' ret_type_id=408 vlen=1
        '(anon)' type_id=46
[410] PTR '(anon)' type_id=409
[411] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=14
        '(anon)' type_id=412
[412] PTR '(anon)' type_id=73
[413] PTR '(anon)' type_id=411
[414] FUNC_PROTO '(anon)' ret_type_id=0 vlen=2
        '(anon)' type_id=412
        '(anon)' type_id=14
[415] PTR '(anon)' type_id=414
[416] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=412
        '(anon)' type_id=10
        '(anon)' type_id=14
[417] PTR '(anon)' type_id=416
[418] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=412
        '(anon)' type_id=10
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=14
[419] PTR '(anon)' type_id=418
[420] FUNC_PROTO '(anon)' ret_type_id=46 vlen=3
        '(anon)' type_id=412
        '(anon)' type_id=10
        '(anon)' type_id=10
[421] PTR '(anon)' type_id=420
[422] FUNC_PROTO '(anon)' ret_type_id=12 vlen=3
        '(anon)' type_id=424
        '(anon)' type_id=235
        '(anon)' type_id=10
[423] FWD 'iphdr' fwd_kind=struct
[424] PTR '(anon)' type_id=423
[425] PTR '(anon)' type_id=422
[426] FUNC_PROTO '(anon)' ret_type_id=12 vlen=3
        '(anon)' type_id=428
        '(anon)' type_id=235
        '(anon)' type_id=10
[427] FWD 'ipv6hdr' fwd_kind=struct
[428] PTR '(anon)' type_id=427
[429] PTR '(anon)' type_id=426
[430] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=424
        '(anon)' type_id=235
[431] PTR '(anon)' type_id=430
[432] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=428
        '(anon)' type_id=235
[433] PTR '(anon)' type_id=432
[434] ARRAY '(anon)' type_id=19 index_type_id=18 nr_elems=4
[435] FUNC_PROTO '(anon)' ret_type_id=7 vlen=1
        'ctx' type_id=79
[436] VAR 'bpf_map_pop_elem' type_id=222, linkage=static
[437] VAR 'bpf_sk_fullsock' type_id=229, linkage=static
[438] VAR 'bpf_task_pt_regs' type_id=370, linkage=static
[439] VAR 'bpf_msg_redirect_map' type_id=173, linkage=static
[440] VAR 'bpf_check_mtu' type_id=350, linkage=static
[441] VAR 'bpf_getsockopt' type_id=148, linkage=static
[442] VAR 'bpf_rc_repeat' type_id=204, linkage=static
[443] VAR 'bpf_tcp_raw_gen_syncookie_ipv6' type_id=429, linkage=static
[444] VAR 'bpf_ringbuf_submit_dynptr' type_id=415, linkage=static
[445] VAR 'bpf_spin_unlock' type_id=227, linkage=static
[446] VAR 'bpf_probe_read' type_id=87, linkage=static
[447] VAR 'bpf_skb_change_proto' type_id=131, linkage=static
[448] VAR 'bpf_probe_read_kernel_str' type_id=87, linkage=static
[449] VAR 'bpf_get_socket_uid' type_id=107, linkage=static
[450] VAR 'bpf_get_func_ip' type_id=146, linkage=static
[451] VAR 'bpf_sk_select_reuseport' type_id=213, linkage=static
[452] VAR 'bpf_setsockopt' type_id=148, linkage=static
[453] VAR 'bpf_send_signal_thread' type_id=254, linkage=static
[454] VAR 'bpf_set_retval' type_id=392, linkage=static
[455] VAR 'bpf_ringbuf_reserve' type_id=275, linkage=static
[456] VAR 'bpf_get_branch_snapshot' type_id=152, linkage=static
[457] VAR 'bpf_load_hdr_opt' type_id=305, linkage=static
[458] VAR 'bpf_get_socket_cookie' type_id=146, linkage=static
[459] VAR 'bpf_get_smp_processor_id' type_id=94, linkage=static
[460] VAR 'bpf_get_stack' type_id=187, linkage=static
[461] VAR 'bpf_xdp_output' type_id=120, linkage=static
[462] VAR 'bpf_probe_read_str' type_id=87, linkage=static
[463] VAR 'bpf_jiffies64' type_id=89, linkage=static
[464] VAR 'bpf_ringbuf_query' type_id=116, linkage=static
[465] VAR 'bpf_skb_change_head' type_id=103, linkage=static
[466] VAR 'bpf_skb_get_xfrm_state' type_id=185, linkage=static
[467] VAR 'bpf_snprintf' type_id=355, linkage=static
[468] VAR 'bpf_skb_pull_data' type_id=133, linkage=static
[469] VAR 'bpf_lwt_push_encap' type_id=198, linkage=static
[470] VAR 'bpf_dynptr_write' type_id=419, linkage=static
[471] VAR 'bpf_spin_lock' type_id=227, linkage=static
[472] VAR 'bpf_ringbuf_reserve_dynptr' type_id=413, linkage=static
[473] VAR 'bpf_sk_release' type_id=204, linkage=static
[474] VAR 'bpf_map_peek_elem' type_id=222, linkage=static
[475] VAR 'bpf_sk_lookup_udp' type_id=218, linkage=static
[476] VAR 'bpf_ringbuf_discard_dynptr' type_id=415, linkage=static
[477] VAR 'bpf_get_func_ret' type_id=388, linkage=static
[478] VAR 'bpf_per_cpu_ptr' type_id=325, linkage=static
[479] VAR 'bpf_tcp_raw_check_syncookie_ipv6' type_id=433, linkage=static
[480] VAR 'bpf_tcp_sock' type_id=232, linkage=static
[481] VAR 'bpf_sysctl_get_name' type_id=240, linkage=static
[482] VAR 'bpf_copy_from_user' type_id=87, linkage=static
[483] VAR 'bpf_perf_prog_read_value' type_id=164, linkage=static
[484] VAR 'bpf_skb_store_bytes' type_id=97, linkage=static
[485] VAR 'bpf_get_route_realm' type_id=107, linkage=static
[486] VAR 'bpf_msg_apply_bytes' type_id=175, linkage=static
[487] VAR 'bpf_map_update_elem' type_id=83, linkage=static
[488] VAR 'bpf_msg_push_data' type_id=177, linkage=static
[489] VAR 'bpf_get_listener_sock' type_id=229, linkage=static
[490] VAR 'bpf_strtol' type_id=247, linkage=static
[491] VAR 'bpf_perf_event_read' type_id=116, linkage=static
[492] VAR 'bpf_inode_storage_get' type_id=252, linkage=static
[493] VAR 'bpf_this_cpu_ptr' type_id=327, linkage=static
[494] VAR 'bpf_tcp_send_ack' type_id=105, linkage=static
[495] VAR 'bpf_send_signal' type_id=254, linkage=static
[496] VAR 'out__btf_size' type_id=14, linkage=global
[497] VAR 'bpf_msg_redirect_hash' type_id=194, linkage=static
[498] VAR 'bpf_get_prandom_u32' type_id=94, linkage=static
[499] VAR 'bpf_timer_set_callback' type_id=364, linkage=static
[500] VAR 'bpf_skc_to_mptcp_sock' type_id=410, linkage=static
[501] VAR 'bpf_skc_to_tcp6_sock' type_id=283, linkage=static
[502] VAR 'bpf_ringbuf_output' type_id=273, linkage=static
[503] VAR 'bpf_get_current_task' type_id=89, linkage=static
[504] VAR 'bpf_get_cgroup_classid' type_id=107, linkage=static
[505] VAR 'bpf_seq_printf_btf' type_id=320, linkage=static
[506] VAR 'bpf_get_current_cgroup_id' type_id=89, linkage=static
[507] VAR 'bpf_perf_event_output' type_id=120, linkage=static
[508] VAR 'bpf_get_current_task_btf' type_id=333, linkage=static
[509] VAR 'bpf_find_vma' type_id=380, linkage=static
[510] VAR 'bpf_set_hash_invalid' type_id=139, linkage=static
[511] VAR 'bpf_override_return' type_id=168, linkage=static
[512] VAR 'bpf_dynptr_from_mem' type_id=413, linkage=static
[513] VAR 'bpf_skb_output' type_id=120, linkage=static
[514] VAR 'bpf_probe_read_kernel' type_id=87, linkage=static
[515] VAR 'bpf_ktime_get_tai_ns' type_id=89, linkage=static
[516] VAR 'bpf_rc_keydown' type_id=206, linkage=static
[517] VAR 'bpf_rc_pointer_rel' type_id=224, linkage=static
[518] VAR 'bpf_map_lookup_elem' type_id=80, linkage=static
[519] VAR 'bpf_seq_write' type_id=269, linkage=static
[520] VAR 'bpf_msg_cork_bytes' type_id=175, linkage=static
[521] VAR 'bpf_ktime_get_ns' type_id=89, linkage=static
[522] VAR 'bpf_redirect_neigh' type_id=323, linkage=static
[523] VAR 'bpf_sock_ops_cb_flags_set' type_id=170, linkage=static
[524] VAR 'bpf_get_attach_cookie' type_id=146, linkage=static
[525] VAR 'out__bpf_link_fops1' type_id=14, linkage=global
[526] VAR 'bpf_get_numa_node_id' type_id=141, linkage=static
[527] VAR 'bpf_skb_load_bytes_relative' type_id=189, linkage=static
[528] VAR 'bpf_map_delete_elem' type_id=85, linkage=static
[529] VAR 'bpf_sys_bpf' type_id=357, linkage=static
[530] VAR 'bpf_get_netns_cookie' type_id=146, linkage=static
[531] VAR 'bpf_get_retval' type_id=390, linkage=static
[532] VAR 'bpf_csum_level' type_id=279, linkage=static
[533] VAR 'bpf_get_stackid' type_id=124, linkage=static
[534] VAR 'bpf_skb_set_tunnel_key' type_id=114, linkage=static
[535] VAR 'bpf_ktime_get_boot_ns' type_id=89, linkage=static
[536] VAR 'bpf_timer_start' type_id=366, linkage=static
[537] VAR 'bpf_task_storage_delete' type_id=331, linkage=static
[538] VAR 'bpf_btf_find_by_name_kind' type_id=359, linkage=static
[539] VAR 'bpf_seq_printf' type_id=267, linkage=static
[540] VAR 'bpf_skc_to_unix_sock' type_id=376, linkage=static
[541] VAR 'bpf_tcp_check_syncookie' type_id=236, linkage=static
[542] VAR 'bpf_get_hash_recalc' type_id=107, linkage=static
[543] VAR 'bpf_get_current_uid_gid' type_id=89, linkage=static
[544] VAR 'bpf_get_current_pid_tgid' type_id=89, linkage=static
[545] VAR 'bpf_d_path' type_id=315, linkage=static
[546] VAR 'bpf_loop' type_id=382, linkage=static
[547] VAR 'bpf_sock_map_update' type_id=157, linkage=static
[548] VAR 'bpf_ringbuf_submit' type_id=277, linkage=static
[549] VAR 'bpf_get_local_storage' type_id=210, linkage=static
[550] VAR '__per_cpu_start' type_id=0, linkage=global
[551] VAR 'bpf_l3_csum_replace' type_id=99, linkage=static
[552] VAR 'bpf_sk_ancestor_cgroup_id' type_id=271, linkage=static
[553] VAR 'bpf_map_lookup_percpu_elem' type_id=406, linkage=static
[554] VAR 'bpf_get_func_arg_cnt' type_id=204, linkage=static
[555] VAR 'bpf_skb_vlan_push' type_id=109, linkage=static
[556] VAR 'bpf_redirect_peer' type_id=118, linkage=static
[557] VAR 'bpf_probe_read_user' type_id=87, linkage=static
[558] VAR 'bpf_sk_lookup_tcp' type_id=218, linkage=static
[559] VAR 'bpf_timer_init' type_id=362, linkage=static
[560] VAR 'bpf_link_fops' type_id=0, linkage=global
[561] VAR 'bpf_lwt_seg6_store_bytes' type_id=200, linkage=static
[562] VAR 'bpf_read_branch_records' type_id=258, linkage=static
[563] VAR 'bpf_skc_to_tcp_request_sock' type_id=295, linkage=static
[564] VAR 'bpf_trace_printk' type_id=92, linkage=static
[565] VAR 'bpf_probe_read_user_str' type_id=87, linkage=static
[566] VAR '__start_BTF' type_id=0, linkage=global
[567] VAR 'bpf_sys_close' type_id=254, linkage=static
[568] VAR 'bpf_sock_from_file' type_id=347, linkage=static
[569] VAR 'bpf_store_hdr_opt' type_id=307, linkage=static
[570] VAR 'bpf_strncmp' type_id=384, linkage=static
[571] VAR 'bpf_skc_to_tcp_sock' type_id=287, linkage=static
[572] VAR 'bpf_skc_to_udp6_sock' type_id=299, linkage=static
[573] VAR 'bpf_csum_update' type_id=137, linkage=static
[574] VAR 'bpf_sysctl_set_new_value' type_id=244, linkage=static
[575] VAR 'bpf_strtoul' type_id=250, linkage=static
[576] VAR 'bpf_redirect' type_id=118, linkage=static
[577] VAR 'bpf_task_storage_get' type_id=329, linkage=static
[578] VAR 'bpf_kptr_xchg' type_id=404, linkage=static
[579] VAR 'bpf_sk_redirect_hash' type_id=196, linkage=static
[580] VAR 'bpf_csum_diff' type_id=127, linkage=static
[581] VAR 'bpf_set_hash' type_id=133, linkage=static
[582] VAR 'bpf_snprintf_btf' type_id=318, linkage=static
[583] VAR 'bpf_link_fops1' type_id=0, linkage=global
[584] VAR 'bpf_sysctl_get_current_value' type_id=242, linkage=static
[585] VAR 'bpf_inode_storage_delete' type_id=311, linkage=static
[586] VAR '_license' type_id=434, linkage=global
[587] VAR 'bpf_tcp_raw_check_syncookie_ipv4' type_id=431, linkage=static
[588] VAR 'bpf_get_current_comm' type_id=105, linkage=static
[589] VAR 'bpf_xdp_get_buff_len' type_id=394, linkage=static
[590] VAR 'bpf_copy_from_user_task' type_id=398, linkage=static
[591] VAR 'bpf_sk_storage_get' type_id=252, linkage=static
[592] VAR 'bpf_sk_storage_delete' type_id=222, linkage=static
[593] VAR 'bpf_get_ns_current_pid_tgid' type_id=261, linkage=static
[594] VAR 'bpf_clone_redirect' type_id=103, linkage=static
[595] VAR 'bpf_sk_redirect_map' type_id=154, linkage=static
[596] VAR 'bpf_get_task_stack' type_id=303, linkage=static
[597] VAR 'bpf_timer_cancel' type_id=368, linkage=static
[598] VAR 'bpf_get_func_arg' type_id=386, linkage=static
[599] VAR 'bpf_lwt_seg6_adjust_srh' type_id=202, linkage=static
[600] VAR 'bpf_ima_inode_hash' type_id=341, linkage=static
[601] VAR 'bpf_msg_pull_data' type_id=177, linkage=static
[602] VAR 'bpf_skb_cgroup_id' type_id=208, linkage=static
[603] VAR 'bpf_skb_set_tstamp' type_id=400, linkage=static
[604] VAR 'bpf_skb_change_type' type_id=133, linkage=static
[605] VAR 'bpf_skb_ancestor_cgroup_id' type_id=215, linkage=static
[606] VAR 'bpf_sysctl_get_new_value' type_id=242, linkage=static
[607] VAR 'bpf_skc_to_tcp_timewait_sock' type_id=291, linkage=static
[608] VAR 'bpf_trace_vprintk' type_id=372, linkage=static
[609] VAR 'bpf_skb_cgroup_classid' type_id=208, linkage=static
[610] VAR 'bpf_reserve_hdr_opt' type_id=309, linkage=static
[611] VAR 'bpf_skc_lookup_tcp' type_id=218, linkage=static
[612] VAR 'bpf_perf_event_read_value' type_id=160, linkage=static
[613] VAR 'bpf_skb_ecn_set_ce' type_id=111, linkage=static
[614] VAR 'bpf_probe_write_user' type_id=135, linkage=static
[615] VAR 'bpf_dynptr_data' type_id=421, linkage=static
[616] VAR 'bpf_xdp_adjust_tail' type_id=144, linkage=static
[617] VAR 'bpf_sk_assign' type_id=124, linkage=static
[618] VAR 'bpf_for_each_map_elem' type_id=352, linkage=static
[619] VAR 'bpf_tail_call' type_id=101, linkage=static
[620] VAR 'bpf_skb_load_bytes' type_id=122, linkage=static
[621] VAR 'bpf_bprm_opts_set' type_id=337, linkage=static
[622] VAR 'bpf_xdp_adjust_head' type_id=144, linkage=static
[623] VAR 'bpf_xdp_store_bytes' type_id=396, linkage=static
[624] VAR 'bpf_xdp_load_bytes' type_id=396, linkage=static
[625] VAR 'bpf_map_push_elem' type_id=220, linkage=static
[626] VAR 'bpf_skb_set_tunnel_opt' type_id=129, linkage=static
[627] VAR 'bpf_skb_change_tail' type_id=103, linkage=static
[628] VAR 'bpf_msg_pop_data' type_id=177, linkage=static
[629] VAR 'bpf_lwt_seg6_action' type_id=198, linkage=static
[630] VAR 'bpf_current_task_under_cgroup' type_id=105, linkage=static
[631] VAR 'bpf_sk_cgroup_id' type_id=146, linkage=static
[632] VAR 'bpf_skb_vlan_pop' type_id=111, linkage=static
[633] VAR 'bpf_skb_under_cgroup' type_id=129, linkage=static
[634] VAR 'bpf_ima_file_hash' type_id=402, linkage=static
[635] VAR 'bpf_skb_get_tunnel_opt' type_id=129, linkage=static
[636] VAR 'bpf_tcp_gen_syncookie' type_id=256, linkage=static
[637] VAR 'bpf_ktime_get_coarse_ns' type_id=89, linkage=static
[638] VAR 'bpf_tcp_raw_gen_syncookie_ipv4' type_id=425, linkage=static
[639] VAR 'out__per_cpu_start' type_id=14, linkage=global
[640] VAR 'bpf_fib_lookup' type_id=192, linkage=static
[641] VAR 'bpf_sock_hash_update' type_id=157, linkage=static
[642] VAR 'bpf_kallsyms_lookup_name' type_id=378, linkage=static
[643] VAR '__stop_BTF' type_id=0, linkage=global
[644] VAR 'bpf_l4_csum_replace' type_id=99, linkage=static
[645] VAR 'bpf_dynptr_read' type_id=417, linkage=static
[646] VAR 'bpf_get_current_ancestor_cgroup_id' type_id=263, linkage=static
[647] VAR 'bpf_xdp_adjust_meta' type_id=144, linkage=static
[648] VAR 'out__bpf_link_fops' type_id=14, linkage=global
[649] VAR 'bpf_skb_adjust_room' type_id=150, linkage=static
[650] VAR 'bpf_redirect_map' type_id=152, linkage=static
[651] VAR 'bpf_skb_get_tunnel_key' type_id=114, linkage=static
[652] VAR 'bpf_bind' type_id=182, linkage=static
[653] VAR 'bpf_ringbuf_discard' type_id=277, linkage=static
[654] FUNC '(anon)' type_id=77 linkage=static
[655] FUNC '(anon)' type_id=82 linkage=static
[656] FUNC '(anon)' type_id=84 linkage=static
[657] FUNC '(anon)' type_id=86 linkage=static
[658] FUNC '(anon)' type_id=88 linkage=static
[659] FUNC '(anon)' type_id=90 linkage=static
[660] FUNC '(anon)' type_id=93 linkage=static
[661] FUNC '(anon)' type_id=95 linkage=static
[662] FUNC '(anon)' type_id=98 linkage=static
[663] FUNC '(anon)' type_id=100 linkage=static
[664] FUNC '(anon)' type_id=102 linkage=static
[665] FUNC '(anon)' type_id=104 linkage=static
[666] FUNC '(anon)' type_id=106 linkage=static
[667] FUNC '(anon)' type_id=108 linkage=static
[668] FUNC '(anon)' type_id=110 linkage=static
[669] FUNC '(anon)' type_id=112 linkage=static
[670] FUNC '(anon)' type_id=115 linkage=static
[671] FUNC '(anon)' type_id=117 linkage=static
[672] FUNC '(anon)' type_id=119 linkage=static
[673] FUNC '(anon)' type_id=121 linkage=static
[674] FUNC '(anon)' type_id=123 linkage=static
[675] FUNC '(anon)' type_id=125 linkage=static
[676] FUNC '(anon)' type_id=128 linkage=static
[677] FUNC '(anon)' type_id=130 linkage=static
[678] FUNC '(anon)' type_id=132 linkage=static
[679] FUNC '(anon)' type_id=134 linkage=static
[680] FUNC '(anon)' type_id=136 linkage=static
[681] FUNC '(anon)' type_id=138 linkage=static
[682] FUNC '(anon)' type_id=140 linkage=static
[683] FUNC '(anon)' type_id=142 linkage=static
[684] FUNC '(anon)' type_id=145 linkage=static
[685] FUNC '(anon)' type_id=147 linkage=static
[686] FUNC '(anon)' type_id=149 linkage=static
[687] FUNC '(anon)' type_id=151 linkage=static
[688] FUNC '(anon)' type_id=153 linkage=static
[689] FUNC '(anon)' type_id=155 linkage=static
[690] FUNC '(anon)' type_id=158 linkage=static
[691] FUNC '(anon)' type_id=161 linkage=static
[692] FUNC '(anon)' type_id=165 linkage=static
[693] FUNC '(anon)' type_id=169 linkage=static
[694] FUNC '(anon)' type_id=171 linkage=static
[695] FUNC '(anon)' type_id=174 linkage=static
[696] FUNC '(anon)' type_id=176 linkage=static
[697] FUNC '(anon)' type_id=178 linkage=static
[698] FUNC '(anon)' type_id=183 linkage=static
[699] FUNC '(anon)' type_id=186 linkage=static
[700] FUNC '(anon)' type_id=188 linkage=static
[701] FUNC '(anon)' type_id=190 linkage=static
[702] FUNC '(anon)' type_id=193 linkage=static
[703] FUNC '(anon)' type_id=195 linkage=static
[704] FUNC '(anon)' type_id=197 linkage=static
[705] FUNC '(anon)' type_id=199 linkage=static
[706] FUNC '(anon)' type_id=201 linkage=static
[707] FUNC '(anon)' type_id=203 linkage=static
[708] FUNC '(anon)' type_id=205 linkage=static
[709] FUNC '(anon)' type_id=207 linkage=static
[710] FUNC '(anon)' type_id=209 linkage=static
[711] FUNC '(anon)' type_id=211 linkage=static
[712] FUNC '(anon)' type_id=214 linkage=static
[713] FUNC '(anon)' type_id=216 linkage=static
[714] FUNC '(anon)' type_id=219 linkage=static
[715] FUNC '(anon)' type_id=221 linkage=static
[716] FUNC '(anon)' type_id=223 linkage=static
[717] FUNC '(anon)' type_id=225 linkage=static
[718] FUNC '(anon)' type_id=228 linkage=static
[719] FUNC '(anon)' type_id=231 linkage=static
[720] FUNC '(anon)' type_id=233 linkage=static
[721] FUNC '(anon)' type_id=237 linkage=static
[722] FUNC '(anon)' type_id=241 linkage=static
[723] FUNC '(anon)' type_id=243 linkage=static
[724] FUNC '(anon)' type_id=245 linkage=static
[725] FUNC '(anon)' type_id=248 linkage=static
[726] FUNC '(anon)' type_id=251 linkage=static
[727] FUNC '(anon)' type_id=253 linkage=static
[728] FUNC '(anon)' type_id=255 linkage=static
[729] FUNC '(anon)' type_id=257 linkage=static
[730] FUNC '(anon)' type_id=259 linkage=static
[731] FUNC '(anon)' type_id=262 linkage=static
[732] FUNC '(anon)' type_id=264 linkage=static
[733] FUNC '(anon)' type_id=268 linkage=static
[734] FUNC '(anon)' type_id=270 linkage=static
[735] FUNC '(anon)' type_id=272 linkage=static
[736] FUNC '(anon)' type_id=274 linkage=static
[737] FUNC '(anon)' type_id=276 linkage=static
[738] FUNC '(anon)' type_id=278 linkage=static
[739] FUNC '(anon)' type_id=282 linkage=static
[740] FUNC '(anon)' type_id=286 linkage=static
[741] FUNC '(anon)' type_id=290 linkage=static
[742] FUNC '(anon)' type_id=294 linkage=static
[743] FUNC '(anon)' type_id=298 linkage=static
[744] FUNC '(anon)' type_id=300 linkage=static
[745] FUNC '(anon)' type_id=304 linkage=static
[746] FUNC '(anon)' type_id=306 linkage=static
[747] FUNC '(anon)' type_id=308 linkage=static
[748] FUNC '(anon)' type_id=310 linkage=static
[749] FUNC '(anon)' type_id=312 linkage=static
[750] FUNC '(anon)' type_id=316 linkage=static
[751] FUNC '(anon)' type_id=319 linkage=static
[752] FUNC '(anon)' type_id=321 linkage=static
[753] FUNC '(anon)' type_id=324 linkage=static
[754] FUNC '(anon)' type_id=326 linkage=static
[755] FUNC '(anon)' type_id=328 linkage=static
[756] FUNC '(anon)' type_id=330 linkage=static
[757] FUNC '(anon)' type_id=332 linkage=static
[758] FUNC '(anon)' type_id=334 linkage=static
[759] FUNC '(anon)' type_id=338 linkage=static
[760] FUNC '(anon)' type_id=344 linkage=static
[761] FUNC '(anon)' type_id=348 linkage=static
[762] FUNC '(anon)' type_id=351 linkage=static
[763] FUNC '(anon)' type_id=353 linkage=static
[764] FUNC '(anon)' type_id=356 linkage=static
[765] FUNC '(anon)' type_id=358 linkage=static
[766] FUNC '(anon)' type_id=360 linkage=static
[767] FUNC '(anon)' type_id=363 linkage=static
[768] FUNC '(anon)' type_id=365 linkage=static
[769] FUNC '(anon)' type_id=367 linkage=static
[770] FUNC '(anon)' type_id=369 linkage=static
[771] FUNC '(anon)' type_id=371 linkage=static
[772] FUNC '(anon)' type_id=375 linkage=static
[773] FUNC '(anon)' type_id=377 linkage=static
[774] FUNC '(anon)' type_id=379 linkage=static
[775] FUNC '(anon)' type_id=381 linkage=static
[776] FUNC '(anon)' type_id=383 linkage=static
[777] FUNC '(anon)' type_id=385 linkage=static
[778] FUNC '(anon)' type_id=387 linkage=static
[779] FUNC '(anon)' type_id=389 linkage=static
[780] FUNC '(anon)' type_id=391 linkage=static
[781] FUNC '(anon)' type_id=393 linkage=static
[782] FUNC '(anon)' type_id=395 linkage=static
[783] FUNC '(anon)' type_id=397 linkage=static
[784] FUNC '(anon)' type_id=399 linkage=static
[785] FUNC '(anon)' type_id=401 linkage=static
[786] FUNC '(anon)' type_id=403 linkage=static
[787] FUNC '(anon)' type_id=405 linkage=static
[788] FUNC '(anon)' type_id=409 linkage=static
[789] FUNC '(anon)' type_id=411 linkage=static
[790] FUNC '(anon)' type_id=414 linkage=static
[791] FUNC '(anon)' type_id=416 linkage=static
[792] FUNC '(anon)' type_id=418 linkage=static
[793] FUNC '(anon)' type_id=420 linkage=static
[794] FUNC '(anon)' type_id=422 linkage=static
[795] FUNC '(anon)' type_id=426 linkage=static
[796] FUNC '(anon)' type_id=430 linkage=static
[797] FUNC '(anon)' type_id=432 linkage=static
[798] FUNC 'handler' type_id=435 linkage=global
[799] DATASEC 'license' size=0 vlen=1
        type_id=586 offset=0 size=4 (VAR '_license')
[800] DATASEC '.ksyms' size=0 vlen=5
        type_id=583 offset=0 size=0 (VAR 'bpf_link_fops1')
        type_id=550 offset=0 size=0 (VAR '__per_cpu_start')
        type_id=643 offset=0 size=0 (VAR '__stop_BTF')
        type_id=566 offset=0 size=0 (VAR '__start_BTF')
        type_id=560 offset=0 size=0 (VAR 'bpf_link_fops')
[801] DATASEC '.data' size=0 vlen=4
        type_id=639 offset=0 size=8 (VAR 'out__per_cpu_start')
        type_id=496 offset=0 size=8 (VAR 'out__btf_size')
        type_id=525 offset=0 size=8 (VAR 'out__bpf_link_fops1')
        type_id=648 offset=0 size=8 (VAR 'out__bpf_link_fops')

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/106773] libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops'
  2022-08-29 22:07 [Bug c/106773] New: libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops' james.hilliard1 at gmail dot com
  2022-09-01 20:31 ` [Bug target/106773] " james.hilliard1 at gmail dot com
@ 2022-09-01 22:33 ` james.hilliard1 at gmail dot com
  2022-11-29  0:44 ` david.faust at oracle dot com
                   ` (17 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: james.hilliard1 at gmail dot com @ 2022-09-01 22:33 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106773

--- Comment #2 from James Hilliard <james.hilliard1 at gmail dot com> ---
Testing with this patch:
diff --git a/gcc/btfout.cc b/gcc/btfout.cc
index 37ec662c190..ff08d0c5024 100644
--- a/gcc/btfout.cc
+++ b/gcc/btfout.cc
@@ -345,6 +345,8 @@ btf_collect_datasec (ctf_container_ref ctfc)
       tree size = DECL_SIZE_UNIT (node->decl);
       if (tree_fits_uhwi_p (size))
        info.size = tree_to_uhwi (size);
+      else if (VOID_TYPE_P (TREE_TYPE (node->decl)))
+       info.size = 1;

       /* Offset is left as 0 at compile time, to be filled in by loaders such
         as libbpf.  */

GCC gen object failure:
$ /home/buildroot/bpf-next-test/tools/testing/selftests/bpf/tools/sbin/bpftool
--debug gen object
/home/buildroot/bpf-next-test/tools/testing/selftests/bpf/bpf_gcc/test_ksyms.linked1.o
/home/buildroot/bpf-next-test/tools/testing/selftests/bpf/bpf_gcc/test_ksyms.o
libbpf: linker: adding object file
'/home/buildroot/bpf-next-test/tools/testing/selftests/bpf/bpf_gcc/test_ksyms.o'...
libbpf: failed to find symbol for variable 'bpf_link_fops1' in section '.ksyms'
Error: failed to link
'/home/buildroot/bpf-next-test/tools/testing/selftests/bpf/bpf_gcc/test_ksyms.o':
Unknown error -2 (-2)

GCC BTF dump:
$ /home/buildroot/bpf-next-test/tools/testing/selftests/bpf/tools/sbin/bpftool
--debug btf dump file
/home/buildroot/bpf-next-test/tools/testing/selftests/bpf/bpf_gcc/test_ksyms.o
format raw
[1] INT 'signed char' size=1 bits_offset=0 nr_bits=8 encoding=SIGNED
[2] INT 'unsigned char' size=1 bits_offset=0 nr_bits=8 encoding=(none)
[3] TYPEDEF '__u8' type_id=2
[4] INT 'short int' size=2 bits_offset=0 nr_bits=16 encoding=SIGNED
[5] INT 'short unsigned int' size=2 bits_offset=0 nr_bits=16 encoding=(none)
[6] TYPEDEF '__u16' type_id=5
[7] INT 'int' size=4 bits_offset=0 nr_bits=32 encoding=SIGNED
[8] TYPEDEF '__s32' type_id=7
[9] INT 'unsigned int' size=4 bits_offset=0 nr_bits=32 encoding=(none)
[10] TYPEDEF '__u32' type_id=9
[11] INT 'long long int' size=8 bits_offset=0 nr_bits=64 encoding=SIGNED
[12] TYPEDEF '__s64' type_id=11
[13] INT 'long long unsigned int' size=8 bits_offset=0 nr_bits=64
encoding=(none)
[14] TYPEDEF '__u64' type_id=13
[15] TYPEDEF '__be16' type_id=6
[16] TYPEDEF '__be32' type_id=10
[17] TYPEDEF '__wsum' type_id=10
[18] INT 'long unsigned int' size=8 bits_offset=0 nr_bits=64 encoding=(none)
[19] INT 'char' size=1 bits_offset=0 nr_bits=8 encoding=SIGNED
[20] CONST '(anon)' type_id=19
[21] UNION '(anon)' size=8 vlen=1
        'flow_keys' type_id=27 bits_offset=0
[22] STRUCT 'bpf_flow_keys' size=56 vlen=13
        'nhoff' type_id=6 bits_offset=0
        'thoff' type_id=6 bits_offset=16
        'addr_proto' type_id=6 bits_offset=32
        'is_frag' type_id=3 bits_offset=48
        'is_first_frag' type_id=3 bits_offset=56
        'is_encap' type_id=3 bits_offset=64
        'ip_proto' type_id=3 bits_offset=72
        'n_proto' type_id=15 bits_offset=80
        'sport' type_id=15 bits_offset=96
        'dport' type_id=15 bits_offset=112
        '(anon)' type_id=23 bits_offset=128
        'flags' type_id=10 bits_offset=384
        'flow_label' type_id=16 bits_offset=416
[23] UNION '(anon)' size=32 vlen=2
        '(anon)' type_id=24 bits_offset=0
        '(anon)' type_id=25 bits_offset=0
[24] STRUCT '(anon)' size=8 vlen=2
        'ipv4_src' type_id=16 bits_offset=0
        'ipv4_dst' type_id=16 bits_offset=32
[25] STRUCT '(anon)' size=32 vlen=2
        'ipv6_src' type_id=26 bits_offset=0
        'ipv6_dst' type_id=26 bits_offset=128
[26] ARRAY '(anon)' type_id=10 index_type_id=18 nr_elems=4
[27] PTR '(anon)' type_id=22
[28] UNION '(anon)' size=8 vlen=1
        'sk' type_id=30 bits_offset=0
[29] STRUCT 'bpf_sock' size=80 vlen=14
        'bound_dev_if' type_id=10 bits_offset=0
        'family' type_id=10 bits_offset=32
        'type' type_id=10 bits_offset=64
        'protocol' type_id=10 bits_offset=96
        'mark' type_id=10 bits_offset=128
        'priority' type_id=10 bits_offset=160
        'src_ip4' type_id=10 bits_offset=192
        'src_ip6' type_id=26 bits_offset=224
        'src_port' type_id=10 bits_offset=352
        'dst_port' type_id=15 bits_offset=384
        'dst_ip4' type_id=10 bits_offset=416
        'dst_ip6' type_id=26 bits_offset=448
        'state' type_id=10 bits_offset=576
        'rx_queue_mapping' type_id=8 bits_offset=608
[30] PTR '(anon)' type_id=29
[31] STRUCT '__sk_buff' size=192 vlen=34
        'len' type_id=10 bits_offset=0
        'pkt_type' type_id=10 bits_offset=32
        'mark' type_id=10 bits_offset=64
        'queue_mapping' type_id=10 bits_offset=96
        'protocol' type_id=10 bits_offset=128
        'vlan_present' type_id=10 bits_offset=160
        'vlan_tci' type_id=10 bits_offset=192
        'vlan_proto' type_id=10 bits_offset=224
        'priority' type_id=10 bits_offset=256
        'ingress_ifindex' type_id=10 bits_offset=288
        'ifindex' type_id=10 bits_offset=320
        'tc_index' type_id=10 bits_offset=352
        'cb' type_id=32 bits_offset=384
        'hash' type_id=10 bits_offset=544
        'tc_classid' type_id=10 bits_offset=576
        'data' type_id=10 bits_offset=608
        'data_end' type_id=10 bits_offset=640
        'napi_id' type_id=10 bits_offset=672
        'family' type_id=10 bits_offset=704
        'remote_ip4' type_id=10 bits_offset=736
        'local_ip4' type_id=10 bits_offset=768
        'remote_ip6' type_id=26 bits_offset=800
        'local_ip6' type_id=26 bits_offset=928
        'remote_port' type_id=10 bits_offset=1056
        'local_port' type_id=10 bits_offset=1088
        'data_meta' type_id=10 bits_offset=1120
        '(anon)' type_id=21 bits_offset=1152
        'tstamp' type_id=14 bits_offset=1216
        'wire_len' type_id=10 bits_offset=1280
        'gso_segs' type_id=10 bits_offset=1312
        '(anon)' type_id=28 bits_offset=1344
        'gso_size' type_id=10 bits_offset=1408
        'tstamp_type' type_id=3 bits_offset=1440
        'hwtstamp' type_id=14 bits_offset=1472
[32] ARRAY '(anon)' type_id=10 index_type_id=18 nr_elems=5
[33] UNION '(anon)' size=16 vlen=2
        'remote_ipv4' type_id=10 bits_offset=0
        'remote_ipv6' type_id=26 bits_offset=0
[34] UNION '(anon)' size=16 vlen=2
        'local_ipv4' type_id=10 bits_offset=0
        'local_ipv6' type_id=26 bits_offset=0
[35] STRUCT 'bpf_tunnel_key' size=44 vlen=7
        'tunnel_id' type_id=10 bits_offset=0
        '(anon)' type_id=33 bits_offset=32
        'tunnel_tos' type_id=3 bits_offset=160
        'tunnel_ttl' type_id=3 bits_offset=168
        'tunnel_ext' type_id=6 bits_offset=176
        'tunnel_label' type_id=10 bits_offset=192
        '(anon)' type_id=34 bits_offset=224
[36] UNION '(anon)' size=16 vlen=2
        'remote_ipv4' type_id=10 bits_offset=0
        'remote_ipv6' type_id=26 bits_offset=0
[37] STRUCT 'bpf_xfrm_state' size=28 vlen=5
        'reqid' type_id=10 bits_offset=0
        'spi' type_id=10 bits_offset=32
        'family' type_id=6 bits_offset=64
        'ext' type_id=6 bits_offset=80
        '(anon)' type_id=36 bits_offset=96
[38] STRUCT 'bpf_tcp_sock' size=112 vlen=26
        'snd_cwnd' type_id=10 bits_offset=0
        'srtt_us' type_id=10 bits_offset=32
        'rtt_min' type_id=10 bits_offset=64
        'snd_ssthresh' type_id=10 bits_offset=96
        'rcv_nxt' type_id=10 bits_offset=128
        'snd_nxt' type_id=10 bits_offset=160
        'snd_una' type_id=10 bits_offset=192
        'mss_cache' type_id=10 bits_offset=224
        'ecn_flags' type_id=10 bits_offset=256
        'rate_delivered' type_id=10 bits_offset=288
        'rate_interval_us' type_id=10 bits_offset=320
        'packets_out' type_id=10 bits_offset=352
        'retrans_out' type_id=10 bits_offset=384
        'total_retrans' type_id=10 bits_offset=416
        'segs_in' type_id=10 bits_offset=448
        'data_segs_in' type_id=10 bits_offset=480
        'segs_out' type_id=10 bits_offset=512
        'data_segs_out' type_id=10 bits_offset=544
        'lost_out' type_id=10 bits_offset=576
        'sacked_out' type_id=10 bits_offset=608
        'bytes_received' type_id=14 bits_offset=640
        'bytes_acked' type_id=14 bits_offset=704
        'dsack_dups' type_id=10 bits_offset=768
        'delivered' type_id=10 bits_offset=800
        'delivered_ce' type_id=10 bits_offset=832
        'icsk_retransmits' type_id=10 bits_offset=864
[39] STRUCT '(anon)' size=12 vlen=4
        'saddr' type_id=16 bits_offset=0
        'daddr' type_id=16 bits_offset=32
        'sport' type_id=15 bits_offset=64
        'dport' type_id=15 bits_offset=80
[40] STRUCT '(anon)' size=36 vlen=4
        'saddr' type_id=41 bits_offset=0
        'daddr' type_id=41 bits_offset=128
        'sport' type_id=15 bits_offset=256
        'dport' type_id=15 bits_offset=272
[41] ARRAY '(anon)' type_id=16 index_type_id=18 nr_elems=4
[42] UNION '(anon)' size=36 vlen=2
        'ipv4' type_id=39 bits_offset=0
        'ipv6' type_id=40 bits_offset=0
[43] STRUCT 'bpf_sock_tuple' size=36 vlen=1
        '(anon)' type_id=42 bits_offset=0
[44] STRUCT 'xdp_md' size=24 vlen=6
        'data' type_id=10 bits_offset=0
        'data_end' type_id=10 bits_offset=32
        'data_meta' type_id=10 bits_offset=64
        'ingress_ifindex' type_id=10 bits_offset=96
        'rx_queue_index' type_id=10 bits_offset=128
        'egress_ifindex' type_id=10 bits_offset=160
[45] UNION '(anon)' size=8 vlen=1
        'data' type_id=46 bits_offset=0
[46] PTR '(anon)' type_id=0
[47] UNION '(anon)' size=8 vlen=1
        'data_end' type_id=46 bits_offset=0
[48] UNION '(anon)' size=8 vlen=1
        'sk' type_id=30 bits_offset=0
[49] STRUCT 'sk_msg_md' size=80 vlen=11
        '(anon)' type_id=45 bits_offset=0
        '(anon)' type_id=47 bits_offset=64
        'family' type_id=10 bits_offset=128
        'remote_ip4' type_id=10 bits_offset=160
        'local_ip4' type_id=10 bits_offset=192
        'remote_ip6' type_id=26 bits_offset=224
        'local_ip6' type_id=26 bits_offset=352
        'remote_port' type_id=10 bits_offset=480
        'local_port' type_id=10 bits_offset=512
        'size' type_id=10 bits_offset=544
        '(anon)' type_id=48 bits_offset=576
[50] UNION '(anon)' size=8 vlen=1
        'data' type_id=46 bits_offset=0
[51] UNION '(anon)' size=8 vlen=1
        'data_end' type_id=46 bits_offset=0
[52] UNION '(anon)' size=8 vlen=1
        'sk' type_id=30 bits_offset=0
[53] UNION '(anon)' size=8 vlen=1
        'migrating_sk' type_id=30 bits_offset=0
[54] STRUCT 'sk_reuseport_md' size=56 vlen=9
        '(anon)' type_id=50 bits_offset=0
        '(anon)' type_id=51 bits_offset=64
        'len' type_id=10 bits_offset=128
        'eth_protocol' type_id=10 bits_offset=160
        'ip_protocol' type_id=10 bits_offset=192
        'bind_inany' type_id=10 bits_offset=224
        'hash' type_id=10 bits_offset=256
        '(anon)' type_id=52 bits_offset=320
        '(anon)' type_id=53 bits_offset=384
[55] UNION '(anon)' size=8 vlen=1
        'sk' type_id=30 bits_offset=0
[56] STRUCT 'bpf_sock_addr' size=72 vlen=10
        'user_family' type_id=10 bits_offset=0
        'user_ip4' type_id=10 bits_offset=32
        'user_ip6' type_id=26 bits_offset=64
        'user_port' type_id=10 bits_offset=192
        'family' type_id=10 bits_offset=224
        'type' type_id=10 bits_offset=256
        'protocol' type_id=10 bits_offset=288
        'msg_src_ip4' type_id=10 bits_offset=320
        'msg_src_ip6' type_id=26 bits_offset=352
        '(anon)' type_id=55 bits_offset=512
[57] UNION '(anon)' size=16 vlen=3
        'args' type_id=26 bits_offset=0
        'reply' type_id=10 bits_offset=0
        'replylong' type_id=26 bits_offset=0
[58] UNION '(anon)' size=8 vlen=1
        'sk' type_id=30 bits_offset=0
[59] UNION '(anon)' size=8 vlen=1
        'skb_data' type_id=46 bits_offset=0
[60] UNION '(anon)' size=8 vlen=1
        'skb_data_end' type_id=46 bits_offset=0
[61] STRUCT 'bpf_sock_ops' size=216 vlen=40
        'op' type_id=10 bits_offset=0
        '(anon)' type_id=57 bits_offset=32
        'family' type_id=10 bits_offset=160
        'remote_ip4' type_id=10 bits_offset=192
        'local_ip4' type_id=10 bits_offset=224
        'remote_ip6' type_id=26 bits_offset=256
        'local_ip6' type_id=26 bits_offset=384
        'remote_port' type_id=10 bits_offset=512
        'local_port' type_id=10 bits_offset=544
        'is_fullsock' type_id=10 bits_offset=576
        'snd_cwnd' type_id=10 bits_offset=608
        'srtt_us' type_id=10 bits_offset=640
        'bpf_sock_ops_cb_flags' type_id=10 bits_offset=672
        'state' type_id=10 bits_offset=704
        'rtt_min' type_id=10 bits_offset=736
        'snd_ssthresh' type_id=10 bits_offset=768
        'rcv_nxt' type_id=10 bits_offset=800
        'snd_nxt' type_id=10 bits_offset=832
        'snd_una' type_id=10 bits_offset=864
        'mss_cache' type_id=10 bits_offset=896
        'ecn_flags' type_id=10 bits_offset=928
        'rate_delivered' type_id=10 bits_offset=960
        'rate_interval_us' type_id=10 bits_offset=992
        'packets_out' type_id=10 bits_offset=1024
        'retrans_out' type_id=10 bits_offset=1056
        'total_retrans' type_id=10 bits_offset=1088
        'segs_in' type_id=10 bits_offset=1120
        'data_segs_in' type_id=10 bits_offset=1152
        'segs_out' type_id=10 bits_offset=1184
        'data_segs_out' type_id=10 bits_offset=1216
        'lost_out' type_id=10 bits_offset=1248
        'sacked_out' type_id=10 bits_offset=1280
        'sk_txhash' type_id=10 bits_offset=1312
        'bytes_received' type_id=14 bits_offset=1344
        'bytes_acked' type_id=14 bits_offset=1408
        '(anon)' type_id=58 bits_offset=1472
        '(anon)' type_id=59 bits_offset=1536
        '(anon)' type_id=60 bits_offset=1600
        'skb_len' type_id=10 bits_offset=1664
        'skb_tcp_flags' type_id=10 bits_offset=1696
[62] STRUCT 'bpf_perf_event_value' size=24 vlen=3
        'counter' type_id=14 bits_offset=0
        'enabled' type_id=14 bits_offset=64
        'running' type_id=14 bits_offset=128
[63] UNION '(anon)' size=2 vlen=2
        'tot_len' type_id=6 bits_offset=0
        'mtu_result' type_id=6 bits_offset=0
[64] UNION '(anon)' size=4 vlen=3
        'tos' type_id=3 bits_offset=0
        'flowinfo' type_id=16 bits_offset=0
        'rt_metric' type_id=10 bits_offset=0
[65] UNION '(anon)' size=16 vlen=2
        'ipv4_src' type_id=16 bits_offset=0
        'ipv6_src' type_id=26 bits_offset=0
[66] UNION '(anon)' size=16 vlen=2
        'ipv4_dst' type_id=16 bits_offset=0
        'ipv6_dst' type_id=26 bits_offset=0
[67] STRUCT 'bpf_fib_lookup' size=64 vlen=13
        'family' type_id=3 bits_offset=0
        'l4_protocol' type_id=3 bits_offset=8
        'sport' type_id=15 bits_offset=16
        'dport' type_id=15 bits_offset=32
        '(anon)' type_id=63 bits_offset=48
        'ifindex' type_id=10 bits_offset=64
        '(anon)' type_id=64 bits_offset=96
        '(anon)' type_id=65 bits_offset=128
        '(anon)' type_id=66 bits_offset=256
        'h_vlan_proto' type_id=15 bits_offset=384
        'h_vlan_TCI' type_id=15 bits_offset=400
        'smac' type_id=68 bits_offset=416
        'dmac' type_id=68 bits_offset=464
[68] ARRAY '(anon)' type_id=3 index_type_id=18 nr_elems=6
[69] UNION '(anon)' size=16 vlen=2
        'ipv4_nh' type_id=16 bits_offset=0
        'ipv6_nh' type_id=26 bits_offset=0
[70] STRUCT 'bpf_redir_neigh' size=20 vlen=2
        'nh_family' type_id=10 bits_offset=0
        '(anon)' type_id=69 bits_offset=32
[71] STRUCT 'bpf_spin_lock' size=4 vlen=1
        'val' type_id=10 bits_offset=0
[72] STRUCT 'bpf_timer' size=16 vlen=0
[73] STRUCT 'bpf_dynptr' size=16 vlen=0
[74] STRUCT 'bpf_sysctl' size=8 vlen=2
        'write' type_id=10 bits_offset=0
        'file_pos' type_id=10 bits_offset=32
[75] STRUCT 'bpf_pidns_info' size=8 vlen=2
        'pid' type_id=10 bits_offset=0
        'tgid' type_id=10 bits_offset=32
[76] STRUCT 'btf_ptr' size=16 vlen=3
        'ptr' type_id=46 bits_offset=0
        'type_id' type_id=10 bits_offset=64
        'flags' type_id=10 bits_offset=96
[77] FUNC_PROTO '(anon)' ret_type_id=46 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=79
[78] CONST '(anon)' type_id=0
[79] PTR '(anon)' type_id=78
[80] PTR '(anon)' type_id=77
[81] INT 'long int' size=8 bits_offset=0 nr_bits=64 encoding=SIGNED
[82] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=46
        '(anon)' type_id=79
        '(anon)' type_id=79
        '(anon)' type_id=14
[83] PTR '(anon)' type_id=82
[84] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=79
[85] PTR '(anon)' type_id=84
[86] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=79
[87] PTR '(anon)' type_id=86
[88] FUNC_PROTO '(anon)' ret_type_id=14 vlen=0
[89] PTR '(anon)' type_id=88
[90] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=91
        '(anon)' type_id=10
        '(anon)' type_id=0
[91] PTR '(anon)' type_id=20
[92] PTR '(anon)' type_id=90
[93] FUNC_PROTO '(anon)' ret_type_id=10 vlen=0
[94] PTR '(anon)' type_id=93
[95] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=96
        '(anon)' type_id=10
        '(anon)' type_id=79
        '(anon)' type_id=10
        '(anon)' type_id=14
[96] PTR '(anon)' type_id=31
[97] PTR '(anon)' type_id=95
[98] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=96
        '(anon)' type_id=10
        '(anon)' type_id=14
        '(anon)' type_id=14
        '(anon)' type_id=14
[99] PTR '(anon)' type_id=98
[100] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=10
[101] PTR '(anon)' type_id=100
[102] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=96
        '(anon)' type_id=10
        '(anon)' type_id=14
[103] PTR '(anon)' type_id=102
[104] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=10
[105] PTR '(anon)' type_id=104
[106] FUNC_PROTO '(anon)' ret_type_id=10 vlen=1
        '(anon)' type_id=96
[107] PTR '(anon)' type_id=106
[108] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=96
        '(anon)' type_id=15
        '(anon)' type_id=6
[109] PTR '(anon)' type_id=108
[110] FUNC_PROTO '(anon)' ret_type_id=81 vlen=1
        '(anon)' type_id=96
[111] PTR '(anon)' type_id=110
[112] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=96
        '(anon)' type_id=113
        '(anon)' type_id=10
        '(anon)' type_id=14
[113] PTR '(anon)' type_id=35
[114] PTR '(anon)' type_id=112
[115] FUNC_PROTO '(anon)' ret_type_id=14 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=14
[116] PTR '(anon)' type_id=115
[117] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=10
        '(anon)' type_id=14
[118] PTR '(anon)' type_id=117
[119] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=14
        '(anon)' type_id=46
        '(anon)' type_id=14
[120] PTR '(anon)' type_id=119
[121] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=79
        '(anon)' type_id=10
        '(anon)' type_id=46
        '(anon)' type_id=10
[122] PTR '(anon)' type_id=121
[123] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=14
[124] PTR '(anon)' type_id=123
[125] FUNC_PROTO '(anon)' ret_type_id=12 vlen=5
        '(anon)' type_id=126
        '(anon)' type_id=10
        '(anon)' type_id=126
        '(anon)' type_id=10
        '(anon)' type_id=17
[126] PTR '(anon)' type_id=16
[127] PTR '(anon)' type_id=125
[128] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=96
        '(anon)' type_id=46
        '(anon)' type_id=10
[129] PTR '(anon)' type_id=128
[130] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=96
        '(anon)' type_id=15
        '(anon)' type_id=14
[131] PTR '(anon)' type_id=130
[132] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=96
        '(anon)' type_id=10
[133] PTR '(anon)' type_id=132
[134] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=46
        '(anon)' type_id=79
        '(anon)' type_id=10
[135] PTR '(anon)' type_id=134
[136] FUNC_PROTO '(anon)' ret_type_id=12 vlen=2
        '(anon)' type_id=96
        '(anon)' type_id=17
[137] PTR '(anon)' type_id=136
[138] FUNC_PROTO '(anon)' ret_type_id=0 vlen=1
        '(anon)' type_id=96
[139] PTR '(anon)' type_id=138
[140] FUNC_PROTO '(anon)' ret_type_id=81 vlen=0
[141] PTR '(anon)' type_id=140
[142] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=143
        '(anon)' type_id=7
[143] PTR '(anon)' type_id=44
[144] PTR '(anon)' type_id=142
[145] FUNC_PROTO '(anon)' ret_type_id=14 vlen=1
        '(anon)' type_id=46
[146] PTR '(anon)' type_id=145
[147] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=46
        '(anon)' type_id=7
        '(anon)' type_id=7
        '(anon)' type_id=46
        '(anon)' type_id=7
[148] PTR '(anon)' type_id=147
[149] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=96
        '(anon)' type_id=8
        '(anon)' type_id=10
        '(anon)' type_id=14
[150] PTR '(anon)' type_id=149
[151] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=14
[152] PTR '(anon)' type_id=151
[153] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=96
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=14
[154] PTR '(anon)' type_id=153
[155] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=156
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=14
[156] PTR '(anon)' type_id=61
[157] PTR '(anon)' type_id=155
[158] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=46
        '(anon)' type_id=14
        '(anon)' type_id=159
        '(anon)' type_id=10
[159] PTR '(anon)' type_id=62
[160] PTR '(anon)' type_id=158
[161] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=163
        '(anon)' type_id=159
        '(anon)' type_id=10
[162] FWD 'bpf_perf_event_data' fwd_kind=struct
[163] PTR '(anon)' type_id=162
[164] PTR '(anon)' type_id=161
[165] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=167
        '(anon)' type_id=14
[166] FWD 'pt_regs' fwd_kind=struct
[167] PTR '(anon)' type_id=166
[168] PTR '(anon)' type_id=165
[169] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=156
        '(anon)' type_id=7
[170] PTR '(anon)' type_id=169
[171] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=172
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=14
[172] PTR '(anon)' type_id=49
[173] PTR '(anon)' type_id=171
[174] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=172
        '(anon)' type_id=10
[175] PTR '(anon)' type_id=174
[176] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=172
        '(anon)' type_id=10
        '(anon)' type_id=10
        '(anon)' type_id=14
[177] PTR '(anon)' type_id=176
[178] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=179
        '(anon)' type_id=181
        '(anon)' type_id=7
[179] PTR '(anon)' type_id=56
[180] FWD 'sockaddr' fwd_kind=struct
[181] PTR '(anon)' type_id=180
[182] PTR '(anon)' type_id=178
[183] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=96
        '(anon)' type_id=10
        '(anon)' type_id=184
        '(anon)' type_id=10
        '(anon)' type_id=14
[184] PTR '(anon)' type_id=37
[185] PTR '(anon)' type_id=183
[186] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=14
[187] PTR '(anon)' type_id=186
[188] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=79
        '(anon)' type_id=10
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=10
[189] PTR '(anon)' type_id=188
[190] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=46
        '(anon)' type_id=191
        '(anon)' type_id=7
        '(anon)' type_id=10
[191] PTR '(anon)' type_id=67
[192] PTR '(anon)' type_id=190
[193] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=172
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=14
[194] PTR '(anon)' type_id=193
[195] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=96
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=14
[196] PTR '(anon)' type_id=195
[197] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=96
        '(anon)' type_id=10
        '(anon)' type_id=46
        '(anon)' type_id=10
[198] PTR '(anon)' type_id=197
[199] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=96
        '(anon)' type_id=10
        '(anon)' type_id=79
        '(anon)' type_id=10
[200] PTR '(anon)' type_id=199
[201] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=96
        '(anon)' type_id=10
        '(anon)' type_id=8
[202] PTR '(anon)' type_id=201
[203] FUNC_PROTO '(anon)' ret_type_id=81 vlen=1
        '(anon)' type_id=46
[204] PTR '(anon)' type_id=203
[205] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=14
        '(anon)' type_id=10
[206] PTR '(anon)' type_id=205
[207] FUNC_PROTO '(anon)' ret_type_id=14 vlen=1
        '(anon)' type_id=96
[208] PTR '(anon)' type_id=207
[209] FUNC_PROTO '(anon)' ret_type_id=46 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=14
[210] PTR '(anon)' type_id=209
[211] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=212
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=14
[212] PTR '(anon)' type_id=54
[213] PTR '(anon)' type_id=211
[214] FUNC_PROTO '(anon)' ret_type_id=14 vlen=2
        '(anon)' type_id=96
        '(anon)' type_id=7
[215] PTR '(anon)' type_id=214
[216] FUNC_PROTO '(anon)' ret_type_id=30 vlen=5
        '(anon)' type_id=46
        '(anon)' type_id=217
        '(anon)' type_id=10
        '(anon)' type_id=14
        '(anon)' type_id=14
[217] PTR '(anon)' type_id=43
[218] PTR '(anon)' type_id=216
[219] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=46
        '(anon)' type_id=79
        '(anon)' type_id=14
[220] PTR '(anon)' type_id=219
[221] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=46
[222] PTR '(anon)' type_id=221
[223] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=46
        '(anon)' type_id=8
        '(anon)' type_id=8
[224] PTR '(anon)' type_id=223
[225] FUNC_PROTO '(anon)' ret_type_id=81 vlen=1
        '(anon)' type_id=226
[226] PTR '(anon)' type_id=71
[227] PTR '(anon)' type_id=225
[228] FUNC_PROTO '(anon)' ret_type_id=30 vlen=1
        '(anon)' type_id=30
[229] PTR '(anon)' type_id=228
[230] PTR '(anon)' type_id=38
[231] FUNC_PROTO '(anon)' ret_type_id=230 vlen=1
        '(anon)' type_id=30
[232] PTR '(anon)' type_id=231
[233] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=235
        '(anon)' type_id=10
[234] FWD 'tcphdr' fwd_kind=struct
[235] PTR '(anon)' type_id=234
[236] PTR '(anon)' type_id=233
[237] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=238
        '(anon)' type_id=239
        '(anon)' type_id=18
        '(anon)' type_id=14
[238] PTR '(anon)' type_id=74
[239] PTR '(anon)' type_id=19
[240] PTR '(anon)' type_id=237
[241] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=238
        '(anon)' type_id=239
        '(anon)' type_id=18
[242] PTR '(anon)' type_id=241
[243] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=238
        '(anon)' type_id=91
        '(anon)' type_id=18
[244] PTR '(anon)' type_id=243
[245] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=91
        '(anon)' type_id=18
        '(anon)' type_id=14
        '(anon)' type_id=246
[246] PTR '(anon)' type_id=81
[247] PTR '(anon)' type_id=245
[248] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=91
        '(anon)' type_id=18
        '(anon)' type_id=14
        '(anon)' type_id=249
[249] PTR '(anon)' type_id=18
[250] PTR '(anon)' type_id=248
[251] FUNC_PROTO '(anon)' ret_type_id=46 vlen=4
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=14
[252] PTR '(anon)' type_id=251
[253] FUNC_PROTO '(anon)' ret_type_id=81 vlen=1
        '(anon)' type_id=10
[254] PTR '(anon)' type_id=253
[255] FUNC_PROTO '(anon)' ret_type_id=12 vlen=5
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=235
        '(anon)' type_id=10
[256] PTR '(anon)' type_id=255
[257] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=163
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=14
[258] PTR '(anon)' type_id=257
[259] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=14
        '(anon)' type_id=14
        '(anon)' type_id=260
        '(anon)' type_id=10
[260] PTR '(anon)' type_id=75
[261] PTR '(anon)' type_id=259
[262] FUNC_PROTO '(anon)' ret_type_id=14 vlen=1
        '(anon)' type_id=7
[263] PTR '(anon)' type_id=262
[264] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=266
        '(anon)' type_id=91
        '(anon)' type_id=10
        '(anon)' type_id=79
        '(anon)' type_id=10
[265] FWD 'seq_file' fwd_kind=struct
[266] PTR '(anon)' type_id=265
[267] PTR '(anon)' type_id=264
[268] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=266
        '(anon)' type_id=79
        '(anon)' type_id=10
[269] PTR '(anon)' type_id=268
[270] FUNC_PROTO '(anon)' ret_type_id=14 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=7
[271] PTR '(anon)' type_id=270
[272] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=14
        '(anon)' type_id=14
[273] PTR '(anon)' type_id=272
[274] FUNC_PROTO '(anon)' ret_type_id=46 vlen=3
        '(anon)' type_id=46
        '(anon)' type_id=14
        '(anon)' type_id=14
[275] PTR '(anon)' type_id=274
[276] FUNC_PROTO '(anon)' ret_type_id=0 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=14
[277] PTR '(anon)' type_id=276
[278] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=96
        '(anon)' type_id=14
[279] PTR '(anon)' type_id=278
[280] FWD 'tcp6_sock' fwd_kind=struct
[281] PTR '(anon)' type_id=280
[282] FUNC_PROTO '(anon)' ret_type_id=281 vlen=1
        '(anon)' type_id=46
[283] PTR '(anon)' type_id=282
[284] FWD 'tcp_sock' fwd_kind=struct
[285] PTR '(anon)' type_id=284
[286] FUNC_PROTO '(anon)' ret_type_id=285 vlen=1
        '(anon)' type_id=46
[287] PTR '(anon)' type_id=286
[288] FWD 'tcp_timewait_sock' fwd_kind=struct
[289] PTR '(anon)' type_id=288
[290] FUNC_PROTO '(anon)' ret_type_id=289 vlen=1
        '(anon)' type_id=46
[291] PTR '(anon)' type_id=290
[292] FWD 'tcp_request_sock' fwd_kind=struct
[293] PTR '(anon)' type_id=292
[294] FUNC_PROTO '(anon)' ret_type_id=293 vlen=1
        '(anon)' type_id=46
[295] PTR '(anon)' type_id=294
[296] FWD 'udp6_sock' fwd_kind=struct
[297] PTR '(anon)' type_id=296
[298] FUNC_PROTO '(anon)' ret_type_id=297 vlen=1
        '(anon)' type_id=46
[299] PTR '(anon)' type_id=298
[300] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=302
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=14
[301] FWD 'task_struct' fwd_kind=struct
[302] PTR '(anon)' type_id=301
[303] PTR '(anon)' type_id=300
[304] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=156
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=14
[305] PTR '(anon)' type_id=304
[306] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=156
        '(anon)' type_id=79
        '(anon)' type_id=10
        '(anon)' type_id=14
[307] PTR '(anon)' type_id=306
[308] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=156
        '(anon)' type_id=10
        '(anon)' type_id=14
[309] PTR '(anon)' type_id=308
[310] FUNC_PROTO '(anon)' ret_type_id=7 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=46
[311] PTR '(anon)' type_id=310
[312] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=314
        '(anon)' type_id=239
        '(anon)' type_id=10
[313] FWD 'path' fwd_kind=struct
[314] PTR '(anon)' type_id=313
[315] PTR '(anon)' type_id=312
[316] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=239
        '(anon)' type_id=10
        '(anon)' type_id=317
        '(anon)' type_id=10
        '(anon)' type_id=14
[317] PTR '(anon)' type_id=76
[318] PTR '(anon)' type_id=316
[319] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=266
        '(anon)' type_id=317
        '(anon)' type_id=10
        '(anon)' type_id=14
[320] PTR '(anon)' type_id=319
[321] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=10
        '(anon)' type_id=322
        '(anon)' type_id=7
        '(anon)' type_id=14
[322] PTR '(anon)' type_id=70
[323] PTR '(anon)' type_id=321
[324] FUNC_PROTO '(anon)' ret_type_id=46 vlen=2
        '(anon)' type_id=79
        '(anon)' type_id=10
[325] PTR '(anon)' type_id=324
[326] FUNC_PROTO '(anon)' ret_type_id=46 vlen=1
        '(anon)' type_id=79
[327] PTR '(anon)' type_id=326
[328] FUNC_PROTO '(anon)' ret_type_id=46 vlen=4
        '(anon)' type_id=46
        '(anon)' type_id=302
        '(anon)' type_id=46
        '(anon)' type_id=14
[329] PTR '(anon)' type_id=328
[330] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=302
[331] PTR '(anon)' type_id=330
[332] FUNC_PROTO '(anon)' ret_type_id=302 vlen=0
[333] PTR '(anon)' type_id=332
[334] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=336
        '(anon)' type_id=14
[335] FWD 'linux_binprm' fwd_kind=struct
[336] PTR '(anon)' type_id=335
[337] PTR '(anon)' type_id=334
[338] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=340
        '(anon)' type_id=46
        '(anon)' type_id=10
[339] FWD 'inode' fwd_kind=struct
[340] PTR '(anon)' type_id=339
[341] PTR '(anon)' type_id=338
[342] FWD 'socket' fwd_kind=struct
[343] PTR '(anon)' type_id=342
[344] FUNC_PROTO '(anon)' ret_type_id=343 vlen=1
        '(anon)' type_id=346
[345] FWD 'file' fwd_kind=struct
[346] PTR '(anon)' type_id=345
[347] PTR '(anon)' type_id=344
[348] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=349
        '(anon)' type_id=8
        '(anon)' type_id=14
[349] PTR '(anon)' type_id=10
[350] PTR '(anon)' type_id=348
[351] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=14
[352] PTR '(anon)' type_id=351
[353] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=239
        '(anon)' type_id=10
        '(anon)' type_id=91
        '(anon)' type_id=354
        '(anon)' type_id=10
[354] PTR '(anon)' type_id=14
[355] PTR '(anon)' type_id=353
[356] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=10
        '(anon)' type_id=46
        '(anon)' type_id=10
[357] PTR '(anon)' type_id=356
[358] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=239
        '(anon)' type_id=7
        '(anon)' type_id=10
        '(anon)' type_id=7
[359] PTR '(anon)' type_id=358
[360] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=361
        '(anon)' type_id=46
        '(anon)' type_id=14
[361] PTR '(anon)' type_id=72
[362] PTR '(anon)' type_id=360
[363] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=361
        '(anon)' type_id=46
[364] PTR '(anon)' type_id=363
[365] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=361
        '(anon)' type_id=14
        '(anon)' type_id=14
[366] PTR '(anon)' type_id=365
[367] FUNC_PROTO '(anon)' ret_type_id=81 vlen=1
        '(anon)' type_id=361
[368] PTR '(anon)' type_id=367
[369] FUNC_PROTO '(anon)' ret_type_id=81 vlen=1
        '(anon)' type_id=302
[370] PTR '(anon)' type_id=369
[371] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=91
        '(anon)' type_id=10
        '(anon)' type_id=79
        '(anon)' type_id=10
[372] PTR '(anon)' type_id=371
[373] FWD 'unix_sock' fwd_kind=struct
[374] PTR '(anon)' type_id=373
[375] FUNC_PROTO '(anon)' ret_type_id=374 vlen=1
        '(anon)' type_id=46
[376] PTR '(anon)' type_id=375
[377] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=91
        '(anon)' type_id=7
        '(anon)' type_id=7
        '(anon)' type_id=354
[378] PTR '(anon)' type_id=377
[379] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=302
        '(anon)' type_id=14
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=14
[380] PTR '(anon)' type_id=379
[381] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=10
        '(anon)' type_id=46
        '(anon)' type_id=46
        '(anon)' type_id=14
[382] PTR '(anon)' type_id=381
[383] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=91
        '(anon)' type_id=10
        '(anon)' type_id=91
[384] PTR '(anon)' type_id=383
[385] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=354
[386] PTR '(anon)' type_id=385
[387] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=354
[388] PTR '(anon)' type_id=387
[389] FUNC_PROTO '(anon)' ret_type_id=7 vlen=0
[390] PTR '(anon)' type_id=389
[391] FUNC_PROTO '(anon)' ret_type_id=7 vlen=1
        '(anon)' type_id=7
[392] PTR '(anon)' type_id=391
[393] FUNC_PROTO '(anon)' ret_type_id=14 vlen=1
        '(anon)' type_id=143
[394] PTR '(anon)' type_id=393
[395] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=143
        '(anon)' type_id=10
        '(anon)' type_id=46
        '(anon)' type_id=10
[396] PTR '(anon)' type_id=395
[397] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=79
        '(anon)' type_id=302
        '(anon)' type_id=14
[398] PTR '(anon)' type_id=397
[399] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=96
        '(anon)' type_id=14
        '(anon)' type_id=10
[400] PTR '(anon)' type_id=399
[401] FUNC_PROTO '(anon)' ret_type_id=81 vlen=3
        '(anon)' type_id=346
        '(anon)' type_id=46
        '(anon)' type_id=10
[402] PTR '(anon)' type_id=401
[403] FUNC_PROTO '(anon)' ret_type_id=46 vlen=2
        '(anon)' type_id=46
        '(anon)' type_id=46
[404] PTR '(anon)' type_id=403
[405] FUNC_PROTO '(anon)' ret_type_id=46 vlen=3
        '(anon)' type_id=46
        '(anon)' type_id=79
        '(anon)' type_id=10
[406] PTR '(anon)' type_id=405
[407] FWD 'mptcp_sock' fwd_kind=struct
[408] PTR '(anon)' type_id=407
[409] FUNC_PROTO '(anon)' ret_type_id=408 vlen=1
        '(anon)' type_id=46
[410] PTR '(anon)' type_id=409
[411] FUNC_PROTO '(anon)' ret_type_id=81 vlen=4
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=14
        '(anon)' type_id=412
[412] PTR '(anon)' type_id=73
[413] PTR '(anon)' type_id=411
[414] FUNC_PROTO '(anon)' ret_type_id=0 vlen=2
        '(anon)' type_id=412
        '(anon)' type_id=14
[415] PTR '(anon)' type_id=414
[416] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=412
        '(anon)' type_id=10
        '(anon)' type_id=14
[417] PTR '(anon)' type_id=416
[418] FUNC_PROTO '(anon)' ret_type_id=81 vlen=5
        '(anon)' type_id=412
        '(anon)' type_id=10
        '(anon)' type_id=46
        '(anon)' type_id=10
        '(anon)' type_id=14
[419] PTR '(anon)' type_id=418
[420] FUNC_PROTO '(anon)' ret_type_id=46 vlen=3
        '(anon)' type_id=412
        '(anon)' type_id=10
        '(anon)' type_id=10
[421] PTR '(anon)' type_id=420
[422] FUNC_PROTO '(anon)' ret_type_id=12 vlen=3
        '(anon)' type_id=424
        '(anon)' type_id=235
        '(anon)' type_id=10
[423] FWD 'iphdr' fwd_kind=struct
[424] PTR '(anon)' type_id=423
[425] PTR '(anon)' type_id=422
[426] FUNC_PROTO '(anon)' ret_type_id=12 vlen=3
        '(anon)' type_id=428
        '(anon)' type_id=235
        '(anon)' type_id=10
[427] FWD 'ipv6hdr' fwd_kind=struct
[428] PTR '(anon)' type_id=427
[429] PTR '(anon)' type_id=426
[430] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=424
        '(anon)' type_id=235
[431] PTR '(anon)' type_id=430
[432] FUNC_PROTO '(anon)' ret_type_id=81 vlen=2
        '(anon)' type_id=428
        '(anon)' type_id=235
[433] PTR '(anon)' type_id=432
[434] ARRAY '(anon)' type_id=19 index_type_id=18 nr_elems=4
[435] FUNC_PROTO '(anon)' ret_type_id=7 vlen=1
        'ctx' type_id=79
[436] VAR 'bpf_read_branch_records' type_id=258, linkage=static
[437] VAR 'bpf_skb_store_bytes' type_id=97, linkage=static
[438] VAR 'bpf_link_fops1' type_id=0, linkage=global
[439] VAR 'bpf_sk_redirect_map' type_id=154, linkage=static
[440] VAR 'bpf_ima_file_hash' type_id=402, linkage=static
[441] VAR 'bpf_sys_bpf' type_id=357, linkage=static
[442] VAR 'bpf_map_lookup_percpu_elem' type_id=406, linkage=static
[443] VAR 'bpf_map_delete_elem' type_id=85, linkage=static
[444] VAR 'bpf_get_branch_snapshot' type_id=152, linkage=static
[445] VAR 'bpf_skb_cgroup_id' type_id=208, linkage=static
[446] VAR 'bpf_skb_get_tunnel_key' type_id=114, linkage=static
[447] VAR 'bpf_sysctl_set_new_value' type_id=244, linkage=static
[448] VAR 'bpf_probe_read_kernel' type_id=87, linkage=static
[449] VAR 'bpf_ringbuf_submit' type_id=277, linkage=static
[450] VAR 'bpf_lwt_seg6_action' type_id=198, linkage=static
[451] VAR 'bpf_xdp_adjust_head' type_id=144, linkage=static
[452] VAR 'bpf_xdp_adjust_tail' type_id=144, linkage=static
[453] VAR 'bpf_ringbuf_reserve' type_id=275, linkage=static
[454] VAR 'bpf_get_func_arg_cnt' type_id=204, linkage=static
[455] VAR 'bpf_skb_change_type' type_id=133, linkage=static
[456] VAR 'bpf_perf_event_read_value' type_id=160, linkage=static
[457] VAR 'bpf_ktime_get_tai_ns' type_id=89, linkage=static
[458] VAR 'bpf_sysctl_get_current_value' type_id=242, linkage=static
[459] VAR 'bpf_redirect' type_id=118, linkage=static
[460] VAR 'bpf_get_current_pid_tgid' type_id=89, linkage=static
[461] VAR 'bpf_l4_csum_replace' type_id=99, linkage=static
[462] VAR 'bpf_map_lookup_elem' type_id=80, linkage=static
[463] VAR 'bpf_snprintf' type_id=355, linkage=static
[464] VAR 'bpf_get_current_cgroup_id' type_id=89, linkage=static
[465] VAR '__start_BTF' type_id=0, linkage=global
[466] VAR 'bpf_timer_cancel' type_id=368, linkage=static
[467] VAR 'bpf_get_listener_sock' type_id=229, linkage=static
[468] VAR 'bpf_skb_adjust_room' type_id=150, linkage=static
[469] VAR 'bpf_msg_redirect_hash' type_id=194, linkage=static
[470] VAR 'bpf_sk_assign' type_id=124, linkage=static
[471] VAR 'bpf_skb_load_bytes' type_id=122, linkage=static
[472] VAR 'bpf_probe_read_str' type_id=87, linkage=static
[473] VAR 'bpf_get_local_storage' type_id=210, linkage=static
[474] VAR 'bpf_get_current_ancestor_cgroup_id' type_id=263, linkage=static
[475] VAR 'bpf_lwt_push_encap' type_id=198, linkage=static
[476] VAR 'bpf_map_update_elem' type_id=83, linkage=static
[477] VAR 'bpf_get_task_stack' type_id=303, linkage=static
[478] VAR 'bpf_get_attach_cookie' type_id=146, linkage=static
[479] VAR 'bpf_msg_push_data' type_id=177, linkage=static
[480] VAR 'bpf_skc_to_udp6_sock' type_id=299, linkage=static
[481] VAR 'bpf_sock_hash_update' type_id=157, linkage=static
[482] VAR 'bpf_dynptr_from_mem' type_id=413, linkage=static
[483] VAR 'bpf_spin_lock' type_id=227, linkage=static
[484] VAR 'bpf_snprintf_btf' type_id=318, linkage=static
[485] VAR 'bpf_get_func_ret' type_id=388, linkage=static
[486] VAR 'bpf_skb_change_tail' type_id=103, linkage=static
[487] VAR 'bpf_ringbuf_output' type_id=273, linkage=static
[488] VAR 'bpf_seq_printf_btf' type_id=320, linkage=static
[489] VAR 'bpf_task_storage_delete' type_id=331, linkage=static
[490] VAR 'bpf_skc_to_tcp_sock' type_id=287, linkage=static
[491] VAR 'bpf_sk_lookup_tcp' type_id=218, linkage=static
[492] VAR 'bpf_tcp_send_ack' type_id=105, linkage=static
[493] VAR 'bpf_get_smp_processor_id' type_id=94, linkage=static
[494] VAR 'bpf_strtol' type_id=247, linkage=static
[495] VAR 'bpf_task_pt_regs' type_id=370, linkage=static
[496] VAR 'bpf_copy_from_user' type_id=87, linkage=static
[497] VAR 'bpf_sk_release' type_id=204, linkage=static
[498] VAR 'bpf_dynptr_write' type_id=419, linkage=static
[499] VAR 'bpf_get_stackid' type_id=124, linkage=static
[500] VAR 'bpf_check_mtu' type_id=350, linkage=static
[501] VAR 'out__btf_size' type_id=14, linkage=global
[502] VAR 'bpf_get_current_task_btf' type_id=333, linkage=static
[503] VAR 'bpf_map_pop_elem' type_id=222, linkage=static
[504] VAR 'bpf_get_current_comm' type_id=105, linkage=static
[505] VAR 'bpf_ktime_get_ns' type_id=89, linkage=static
[506] VAR 'bpf_get_netns_cookie' type_id=146, linkage=static
[507] VAR 'bpf_rc_pointer_rel' type_id=224, linkage=static
[508] VAR 'bpf_set_hash' type_id=133, linkage=static
[509] VAR 'bpf_sys_close' type_id=254, linkage=static
[510] VAR 'bpf_strncmp' type_id=384, linkage=static
[511] VAR 'bpf_get_current_task' type_id=89, linkage=static
[512] VAR 'bpf_strtoul' type_id=250, linkage=static
[513] VAR 'bpf_ringbuf_submit_dynptr' type_id=415, linkage=static
[514] VAR 'out__bpf_link_fops1' type_id=14, linkage=global
[515] VAR 'bpf_ringbuf_discard' type_id=277, linkage=static
[516] VAR 'bpf_link_fops' type_id=0, linkage=global
[517] VAR 'bpf_sk_storage_delete' type_id=222, linkage=static
[518] VAR 'bpf_probe_read_kernel_str' type_id=87, linkage=static
[519] VAR 'bpf_send_signal_thread' type_id=254, linkage=static
[520] VAR 'bpf_sk_select_reuseport' type_id=213, linkage=static
[521] VAR 'bpf_ktime_get_boot_ns' type_id=89, linkage=static
[522] VAR 'bpf_send_signal' type_id=254, linkage=static
[523] VAR 'bpf_skb_change_head' type_id=103, linkage=static
[524] VAR 'bpf_seq_write' type_id=269, linkage=static
[525] VAR 'bpf_skb_set_tunnel_key' type_id=114, linkage=static
[526] VAR 'bpf_skb_ecn_set_ce' type_id=111, linkage=static
[527] VAR 'bpf_skc_to_tcp_request_sock' type_id=295, linkage=static
[528] VAR 'bpf_task_storage_get' type_id=329, linkage=static
[529] VAR 'bpf_csum_diff' type_id=127, linkage=static
[530] VAR 'bpf_get_stack' type_id=187, linkage=static
[531] VAR 'bpf_msg_apply_bytes' type_id=175, linkage=static
[532] VAR 'bpf_xdp_get_buff_len' type_id=394, linkage=static
[533] VAR 'bpf_sysctl_get_new_value' type_id=242, linkage=static
[534] VAR 'bpf_sk_lookup_udp' type_id=218, linkage=static
[535] VAR 'bpf_skb_set_tunnel_opt' type_id=129, linkage=static
[536] VAR 'bpf_inode_storage_get' type_id=252, linkage=static
[537] VAR 'bpf_redirect_neigh' type_id=323, linkage=static
[538] VAR 'bpf_msg_pop_data' type_id=177, linkage=static
[539] VAR 'bpf_xdp_load_bytes' type_id=396, linkage=static
[540] VAR 'bpf_sysctl_get_name' type_id=240, linkage=static
[541] VAR 'bpf_bind' type_id=182, linkage=static
[542] VAR 'bpf_current_task_under_cgroup' type_id=105, linkage=static
[543] VAR 'bpf_tcp_gen_syncookie' type_id=256, linkage=static
[544] VAR 'bpf_getsockopt' type_id=148, linkage=static
[545] VAR 'bpf_rc_keydown' type_id=206, linkage=static
[546] VAR 'bpf_sk_redirect_hash' type_id=196, linkage=static
[547] VAR 'bpf_kallsyms_lookup_name' type_id=378, linkage=static
[548] VAR 'bpf_setsockopt' type_id=148, linkage=static
[549] VAR 'bpf_find_vma' type_id=380, linkage=static
[550] VAR 'bpf_skb_vlan_push' type_id=109, linkage=static
[551] VAR 'bpf_skb_set_tstamp' type_id=400, linkage=static
[552] VAR 'bpf_inode_storage_delete' type_id=311, linkage=static
[553] VAR 'bpf_tcp_raw_check_syncookie_ipv6' type_id=433, linkage=static
[554] VAR 'bpf_ringbuf_query' type_id=116, linkage=static
[555] VAR 'bpf_probe_read' type_id=87, linkage=static
[556] VAR 'bpf_get_hash_recalc' type_id=107, linkage=static
[557] VAR 'bpf_get_numa_node_id' type_id=141, linkage=static
[558] VAR 'bpf_redirect_map' type_id=152, linkage=static
[559] VAR 'bpf_tail_call' type_id=101, linkage=static
[560] VAR 'bpf_get_cgroup_classid' type_id=107, linkage=static
[561] VAR 'bpf_l3_csum_replace' type_id=99, linkage=static
[562] VAR 'bpf_timer_init' type_id=362, linkage=static
[563] VAR 'bpf_csum_update' type_id=137, linkage=static
[564] VAR 'bpf_lwt_seg6_adjust_srh' type_id=202, linkage=static
[565] VAR 'bpf_skb_get_xfrm_state' type_id=185, linkage=static
[566] VAR 'bpf_trace_printk' type_id=92, linkage=static
[567] VAR 'bpf_sk_cgroup_id' type_id=146, linkage=static
[568] VAR 'bpf_probe_write_user' type_id=135, linkage=static
[569] VAR '__per_cpu_start' type_id=0, linkage=global
[570] VAR 'bpf_perf_event_output' type_id=120, linkage=static
[571] VAR 'bpf_btf_find_by_name_kind' type_id=359, linkage=static
[572] VAR 'bpf_sock_map_update' type_id=157, linkage=static
[573] VAR 'bpf_msg_cork_bytes' type_id=175, linkage=static
[574] VAR 'bpf_get_ns_current_pid_tgid' type_id=261, linkage=static
[575] VAR 'bpf_copy_from_user_task' type_id=398, linkage=static
[576] VAR 'bpf_skb_change_proto' type_id=131, linkage=static
[577] VAR 'bpf_skb_vlan_pop' type_id=111, linkage=static
[578] VAR 'bpf_get_func_ip' type_id=146, linkage=static
[579] VAR 'bpf_xdp_adjust_meta' type_id=144, linkage=static
[580] VAR 'bpf_ktime_get_coarse_ns' type_id=89, linkage=static
[581] VAR 'bpf_perf_event_read' type_id=116, linkage=static
[582] VAR 'bpf_skc_to_tcp_timewait_sock' type_id=291, linkage=static
[583] VAR 'bpf_ima_inode_hash' type_id=341, linkage=static
[584] VAR 'bpf_xdp_output' type_id=120, linkage=static
[585] VAR 'bpf_sock_ops_cb_flags_set' type_id=170, linkage=static
[586] VAR 'bpf_trace_vprintk' type_id=372, linkage=static
[587] VAR 'bpf_skb_ancestor_cgroup_id' type_id=215, linkage=static
[588] VAR '_license' type_id=434, linkage=global
[589] VAR 'bpf_get_prandom_u32' type_id=94, linkage=static
[590] VAR 'bpf_get_current_uid_gid' type_id=89, linkage=static
[591] VAR 'bpf_get_retval' type_id=390, linkage=static
[592] VAR 'bpf_fib_lookup' type_id=192, linkage=static
[593] VAR 'bpf_csum_level' type_id=279, linkage=static
[594] VAR 'out__per_cpu_start' type_id=14, linkage=global
[595] VAR 'bpf_map_push_elem' type_id=220, linkage=static
[596] VAR 'bpf_skc_lookup_tcp' type_id=218, linkage=static
[597] VAR 'bpf_skc_to_unix_sock' type_id=376, linkage=static
[598] VAR 'bpf_tcp_sock' type_id=232, linkage=static
[599] VAR 'bpf_set_retval' type_id=392, linkage=static
[600] VAR 'bpf_override_return' type_id=168, linkage=static
[601] VAR 'bpf_ringbuf_reserve_dynptr' type_id=413, linkage=static
[602] VAR 'bpf_store_hdr_opt' type_id=307, linkage=static
[603] VAR 'bpf_bprm_opts_set' type_id=337, linkage=static
[604] VAR 'bpf_msg_pull_data' type_id=177, linkage=static
[605] VAR 'bpf_get_socket_cookie' type_id=146, linkage=static
[606] VAR 'bpf_clone_redirect' type_id=103, linkage=static
[607] VAR 'bpf_kptr_xchg' type_id=404, linkage=static
[608] VAR 'bpf_reserve_hdr_opt' type_id=309, linkage=static
[609] VAR 'bpf_jiffies64' type_id=89, linkage=static
[610] VAR 'bpf_perf_prog_read_value' type_id=164, linkage=static
[611] VAR 'bpf_this_cpu_ptr' type_id=327, linkage=static
[612] VAR 'bpf_msg_redirect_map' type_id=173, linkage=static
[613] VAR 'bpf_xdp_store_bytes' type_id=396, linkage=static
[614] VAR 'bpf_ringbuf_discard_dynptr' type_id=415, linkage=static
[615] VAR 'bpf_tcp_raw_gen_syncookie_ipv6' type_id=429, linkage=static
[616] VAR 'bpf_seq_printf' type_id=267, linkage=static
[617] VAR 'bpf_redirect_peer' type_id=118, linkage=static
[618] VAR 'bpf_for_each_map_elem' type_id=352, linkage=static
[619] VAR 'bpf_lwt_seg6_store_bytes' type_id=200, linkage=static
[620] VAR 'bpf_tcp_check_syncookie' type_id=236, linkage=static
[621] VAR 'bpf_spin_unlock' type_id=227, linkage=static
[622] VAR 'bpf_d_path' type_id=315, linkage=static
[623] VAR 'bpf_rc_repeat' type_id=204, linkage=static
[624] VAR 'bpf_dynptr_data' type_id=421, linkage=static
[625] VAR 'bpf_skb_output' type_id=120, linkage=static
[626] VAR 'bpf_skc_to_mptcp_sock' type_id=410, linkage=static
[627] VAR 'bpf_timer_set_callback' type_id=364, linkage=static
[628] VAR 'bpf_sk_fullsock' type_id=229, linkage=static
[629] VAR 'bpf_tcp_raw_gen_syncookie_ipv4' type_id=425, linkage=static
[630] VAR 'bpf_sk_storage_get' type_id=252, linkage=static
[631] VAR 'bpf_skc_to_tcp6_sock' type_id=283, linkage=static
[632] VAR 'bpf_tcp_raw_check_syncookie_ipv4' type_id=431, linkage=static
[633] VAR 'bpf_loop' type_id=382, linkage=static
[634] VAR 'bpf_sk_ancestor_cgroup_id' type_id=271, linkage=static
[635] VAR 'bpf_per_cpu_ptr' type_id=325, linkage=static
[636] VAR 'bpf_get_socket_uid' type_id=107, linkage=static
[637] VAR 'bpf_skb_cgroup_classid' type_id=208, linkage=static
[638] VAR 'bpf_probe_read_user_str' type_id=87, linkage=static
[639] VAR 'bpf_map_peek_elem' type_id=222, linkage=static
[640] VAR 'bpf_timer_start' type_id=366, linkage=static
[641] VAR 'bpf_skb_get_tunnel_opt' type_id=129, linkage=static
[642] VAR 'bpf_sock_from_file' type_id=347, linkage=static
[643] VAR 'bpf_set_hash_invalid' type_id=139, linkage=static
[644] VAR 'bpf_get_func_arg' type_id=386, linkage=static
[645] VAR 'bpf_skb_under_cgroup' type_id=129, linkage=static
[646] VAR 'bpf_load_hdr_opt' type_id=305, linkage=static
[647] VAR 'bpf_dynptr_read' type_id=417, linkage=static
[648] VAR 'out__bpf_link_fops' type_id=14, linkage=global
[649] VAR 'bpf_probe_read_user' type_id=87, linkage=static
[650] VAR '__stop_BTF' type_id=0, linkage=global
[651] VAR 'bpf_skb_load_bytes_relative' type_id=189, linkage=static
[652] VAR 'bpf_skb_pull_data' type_id=133, linkage=static
[653] VAR 'bpf_get_route_realm' type_id=107, linkage=static
[654] FUNC '(anon)' type_id=77 linkage=static
[655] FUNC '(anon)' type_id=82 linkage=static
[656] FUNC '(anon)' type_id=84 linkage=static
[657] FUNC '(anon)' type_id=86 linkage=static
[658] FUNC '(anon)' type_id=88 linkage=static
[659] FUNC '(anon)' type_id=90 linkage=static
[660] FUNC '(anon)' type_id=93 linkage=static
[661] FUNC '(anon)' type_id=95 linkage=static
[662] FUNC '(anon)' type_id=98 linkage=static
[663] FUNC '(anon)' type_id=100 linkage=static
[664] FUNC '(anon)' type_id=102 linkage=static
[665] FUNC '(anon)' type_id=104 linkage=static
[666] FUNC '(anon)' type_id=106 linkage=static
[667] FUNC '(anon)' type_id=108 linkage=static
[668] FUNC '(anon)' type_id=110 linkage=static
[669] FUNC '(anon)' type_id=112 linkage=static
[670] FUNC '(anon)' type_id=115 linkage=static
[671] FUNC '(anon)' type_id=117 linkage=static
[672] FUNC '(anon)' type_id=119 linkage=static
[673] FUNC '(anon)' type_id=121 linkage=static
[674] FUNC '(anon)' type_id=123 linkage=static
[675] FUNC '(anon)' type_id=125 linkage=static
[676] FUNC '(anon)' type_id=128 linkage=static
[677] FUNC '(anon)' type_id=130 linkage=static
[678] FUNC '(anon)' type_id=132 linkage=static
[679] FUNC '(anon)' type_id=134 linkage=static
[680] FUNC '(anon)' type_id=136 linkage=static
[681] FUNC '(anon)' type_id=138 linkage=static
[682] FUNC '(anon)' type_id=140 linkage=static
[683] FUNC '(anon)' type_id=142 linkage=static
[684] FUNC '(anon)' type_id=145 linkage=static
[685] FUNC '(anon)' type_id=147 linkage=static
[686] FUNC '(anon)' type_id=149 linkage=static
[687] FUNC '(anon)' type_id=151 linkage=static
[688] FUNC '(anon)' type_id=153 linkage=static
[689] FUNC '(anon)' type_id=155 linkage=static
[690] FUNC '(anon)' type_id=158 linkage=static
[691] FUNC '(anon)' type_id=161 linkage=static
[692] FUNC '(anon)' type_id=165 linkage=static
[693] FUNC '(anon)' type_id=169 linkage=static
[694] FUNC '(anon)' type_id=171 linkage=static
[695] FUNC '(anon)' type_id=174 linkage=static
[696] FUNC '(anon)' type_id=176 linkage=static
[697] FUNC '(anon)' type_id=178 linkage=static
[698] FUNC '(anon)' type_id=183 linkage=static
[699] FUNC '(anon)' type_id=186 linkage=static
[700] FUNC '(anon)' type_id=188 linkage=static
[701] FUNC '(anon)' type_id=190 linkage=static
[702] FUNC '(anon)' type_id=193 linkage=static
[703] FUNC '(anon)' type_id=195 linkage=static
[704] FUNC '(anon)' type_id=197 linkage=static
[705] FUNC '(anon)' type_id=199 linkage=static
[706] FUNC '(anon)' type_id=201 linkage=static
[707] FUNC '(anon)' type_id=203 linkage=static
[708] FUNC '(anon)' type_id=205 linkage=static
[709] FUNC '(anon)' type_id=207 linkage=static
[710] FUNC '(anon)' type_id=209 linkage=static
[711] FUNC '(anon)' type_id=211 linkage=static
[712] FUNC '(anon)' type_id=214 linkage=static
[713] FUNC '(anon)' type_id=216 linkage=static
[714] FUNC '(anon)' type_id=219 linkage=static
[715] FUNC '(anon)' type_id=221 linkage=static
[716] FUNC '(anon)' type_id=223 linkage=static
[717] FUNC '(anon)' type_id=225 linkage=static
[718] FUNC '(anon)' type_id=228 linkage=static
[719] FUNC '(anon)' type_id=231 linkage=static
[720] FUNC '(anon)' type_id=233 linkage=static
[721] FUNC '(anon)' type_id=237 linkage=static
[722] FUNC '(anon)' type_id=241 linkage=static
[723] FUNC '(anon)' type_id=243 linkage=static
[724] FUNC '(anon)' type_id=245 linkage=static
[725] FUNC '(anon)' type_id=248 linkage=static
[726] FUNC '(anon)' type_id=251 linkage=static
[727] FUNC '(anon)' type_id=253 linkage=static
[728] FUNC '(anon)' type_id=255 linkage=static
[729] FUNC '(anon)' type_id=257 linkage=static
[730] FUNC '(anon)' type_id=259 linkage=static
[731] FUNC '(anon)' type_id=262 linkage=static
[732] FUNC '(anon)' type_id=264 linkage=static
[733] FUNC '(anon)' type_id=268 linkage=static
[734] FUNC '(anon)' type_id=270 linkage=static
[735] FUNC '(anon)' type_id=272 linkage=static
[736] FUNC '(anon)' type_id=274 linkage=static
[737] FUNC '(anon)' type_id=276 linkage=static
[738] FUNC '(anon)' type_id=278 linkage=static
[739] FUNC '(anon)' type_id=282 linkage=static
[740] FUNC '(anon)' type_id=286 linkage=static
[741] FUNC '(anon)' type_id=290 linkage=static
[742] FUNC '(anon)' type_id=294 linkage=static
[743] FUNC '(anon)' type_id=298 linkage=static
[744] FUNC '(anon)' type_id=300 linkage=static
[745] FUNC '(anon)' type_id=304 linkage=static
[746] FUNC '(anon)' type_id=306 linkage=static
[747] FUNC '(anon)' type_id=308 linkage=static
[748] FUNC '(anon)' type_id=310 linkage=static
[749] FUNC '(anon)' type_id=312 linkage=static
[750] FUNC '(anon)' type_id=316 linkage=static
[751] FUNC '(anon)' type_id=319 linkage=static
[752] FUNC '(anon)' type_id=321 linkage=static
[753] FUNC '(anon)' type_id=324 linkage=static
[754] FUNC '(anon)' type_id=326 linkage=static
[755] FUNC '(anon)' type_id=328 linkage=static
[756] FUNC '(anon)' type_id=330 linkage=static
[757] FUNC '(anon)' type_id=332 linkage=static
[758] FUNC '(anon)' type_id=334 linkage=static
[759] FUNC '(anon)' type_id=338 linkage=static
[760] FUNC '(anon)' type_id=344 linkage=static
[761] FUNC '(anon)' type_id=348 linkage=static
[762] FUNC '(anon)' type_id=351 linkage=static
[763] FUNC '(anon)' type_id=353 linkage=static
[764] FUNC '(anon)' type_id=356 linkage=static
[765] FUNC '(anon)' type_id=358 linkage=static
[766] FUNC '(anon)' type_id=360 linkage=static
[767] FUNC '(anon)' type_id=363 linkage=static
[768] FUNC '(anon)' type_id=365 linkage=static
[769] FUNC '(anon)' type_id=367 linkage=static
[770] FUNC '(anon)' type_id=369 linkage=static
[771] FUNC '(anon)' type_id=371 linkage=static
[772] FUNC '(anon)' type_id=375 linkage=static
[773] FUNC '(anon)' type_id=377 linkage=static
[774] FUNC '(anon)' type_id=379 linkage=static
[775] FUNC '(anon)' type_id=381 linkage=static
[776] FUNC '(anon)' type_id=383 linkage=static
[777] FUNC '(anon)' type_id=385 linkage=static
[778] FUNC '(anon)' type_id=387 linkage=static
[779] FUNC '(anon)' type_id=389 linkage=static
[780] FUNC '(anon)' type_id=391 linkage=static
[781] FUNC '(anon)' type_id=393 linkage=static
[782] FUNC '(anon)' type_id=395 linkage=static
[783] FUNC '(anon)' type_id=397 linkage=static
[784] FUNC '(anon)' type_id=399 linkage=static
[785] FUNC '(anon)' type_id=401 linkage=static
[786] FUNC '(anon)' type_id=403 linkage=static
[787] FUNC '(anon)' type_id=405 linkage=static
[788] FUNC '(anon)' type_id=409 linkage=static
[789] FUNC '(anon)' type_id=411 linkage=static
[790] FUNC '(anon)' type_id=414 linkage=static
[791] FUNC '(anon)' type_id=416 linkage=static
[792] FUNC '(anon)' type_id=418 linkage=static
[793] FUNC '(anon)' type_id=420 linkage=static
[794] FUNC '(anon)' type_id=422 linkage=static
[795] FUNC '(anon)' type_id=426 linkage=static
[796] FUNC '(anon)' type_id=430 linkage=static
[797] FUNC '(anon)' type_id=432 linkage=static
[798] FUNC 'handler' type_id=435 linkage=global
[799] DATASEC 'license' size=0 vlen=1
        type_id=588 offset=0 size=4 (VAR '_license')
[800] DATASEC '.ksyms' size=0 vlen=5
        type_id=438 offset=0 size=1 (VAR 'bpf_link_fops1')
        type_id=569 offset=0 size=1 (VAR '__per_cpu_start')
        type_id=650 offset=0 size=1 (VAR '__stop_BTF')
        type_id=465 offset=0 size=1 (VAR '__start_BTF')
        type_id=516 offset=0 size=1 (VAR 'bpf_link_fops')
[801] DATASEC '.data' size=0 vlen=4
        type_id=594 offset=0 size=8 (VAR 'out__per_cpu_start')
        type_id=501 offset=0 size=8 (VAR 'out__btf_size')
        type_id=514 offset=0 size=8 (VAR 'out__bpf_link_fops1')
        type_id=648 offset=0 size=8 (VAR 'out__bpf_link_fops')

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/106773] libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops'
  2022-08-29 22:07 [Bug c/106773] New: libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops' james.hilliard1 at gmail dot com
  2022-09-01 20:31 ` [Bug target/106773] " james.hilliard1 at gmail dot com
  2022-09-01 22:33 ` james.hilliard1 at gmail dot com
@ 2022-11-29  0:44 ` david.faust at oracle dot com
  2022-11-30 21:20 ` david.faust at oracle dot com
                   ` (16 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: david.faust at oracle dot com @ 2022-11-29  0:44 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106773

--- Comment #3 from David Faust <david.faust at oracle dot com> ---
There are two remaining issues:

1. We are missing support for 'linkage=extern' encoding for variables,
   so 'bpf_link_fops' and others are incorrectly marked with 'linkage=global'
   instead.

2. 'bpf_link_fops' variable is encoded as 'void' type not 'const void'.
   This is a result of the BTF being generated from internal DWARF
   representation. The distinction seems to be intentionally removed in
   dwarf2out.cc:add_type_attribute(), with the later side-effect that
   looking up the type DIE for the variable when generating BTF actually
   fails and falls back to the default 'void'.

I have an implementation for (1) in progress. For (2) I need to understand
why the 'void'/'const void' distinction is removed in DWARF and how to work 
around it.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/106773] libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops'
  2022-08-29 22:07 [Bug c/106773] New: libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops' james.hilliard1 at gmail dot com
                   ` (2 preceding siblings ...)
  2022-11-29  0:44 ` david.faust at oracle dot com
@ 2022-11-30 21:20 ` david.faust at oracle dot com
  2022-12-01  0:04 ` james.hilliard1 at gmail dot com
                   ` (15 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: david.faust at oracle dot com @ 2022-11-30 21:20 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106773

--- Comment #4 from David Faust <david.faust at oracle dot com> ---
Created attachment 53993
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53993&action=edit
proposed patch

Should fix the remaining issues with 'extern' linkage and the missing 'const'
modifier (and includes the earlier partial fixes in this bug)

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/106773] libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops'
  2022-08-29 22:07 [Bug c/106773] New: libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops' james.hilliard1 at gmail dot com
                   ` (3 preceding siblings ...)
  2022-11-30 21:20 ` david.faust at oracle dot com
@ 2022-12-01  0:04 ` james.hilliard1 at gmail dot com
  2022-12-01  0:12 ` james.hilliard1 at gmail dot com
                   ` (14 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: james.hilliard1 at gmail dot com @ 2022-12-01  0:04 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106773

--- Comment #5 from James Hilliard <james.hilliard1 at gmail dot com> ---
(In reply to David Faust from comment #4)
> Created attachment 53993 [details]
> proposed patch
> 
> Should fix the remaining issues with 'extern' linkage and the missing
> 'const' modifier (and includes the earlier partial fixes in this bug)

Fixes the reported test failure but some others(unclear if related to this bug)
are still failing such as tailcall_bpf2bpf3.c:
$ /home/buildroot/bpf-next/tools/testing/selftests/bpf/tools/sbin/bpftool
--debug gen object
/home/buildroot/bpf-next/tools/testing/selftests/bpf/bpf_gcc/tailcall_bpf2bpf3.bpf.linked1.o
/home/buildroot/bpf-next/tools/testing/selftests/bpf/bpf_gcc/tailcall_bpf2bpf3.bpf.o
libbpf: linker: adding object file
'/home/buildroot/bpf-next/tools/testing/selftests/bpf/bpf_gcc/tailcall_bpf2bpf3.bpf.o'...
libbpf: failed to find BTF info for global/extern symbol 'llvm.bpf.load.word'
Error: failed to link
'/home/buildroot/bpf-next/tools/testing/selftests/bpf/bpf_gcc/tailcall_bpf2bpf3.bpf.o':
No such file or directory (2)

GCC BTF dump:
$ /home/buildroot/bpf-next/tools/testing/selftests/bpf/tools/sbin/bpftool
--debug btf dump file
/home/buildroot/bpf-next/tools/testing/selftests/bpf/bpf_gcc/tailcall_bpf2bpf3.bpf.o
format raw
[1] INT 'signed char' size=1 bits_offset=0 nr_bits=8 encoding=SIGNED
[2] INT 'unsigned char' size=1 bits_offset=0 nr_bits=8 encoding=(none)
[3] TYPEDEF '__u8' type_id=2
[4] INT 'short int' size=2 bits_offset=0 nr_bits=16 encoding=SIGNED
[5] INT 'short unsigned int' size=2 bits_offset=0 nr_bits=16 encoding=(none)
[6] TYPEDEF '__u16' type_id=5
[7] INT 'int' size=4 bits_offset=0 nr_bits=32 encoding=SIGNED
[8] TYPEDEF '__s32' type_id=7
[9] INT 'unsigned int' size=4 bits_offset=0 nr_bits=32 encoding=(none)
[10] TYPEDEF '__u32' type_id=9
[11] CONST '(anon)' type_id=10
[12] INT 'long long int' size=8 bits_offset=0 nr_bits=64 encoding=SIGNED
[13] TYPEDEF '__s64' type_id=12
[14] INT 'long long unsigned int' size=8 bits_offset=0 nr_bits=64
encoding=(none)
[15] TYPEDEF '__u64' type_id=14
[16] TYPEDEF '__be16' type_id=6
[17] TYPEDEF '__be32' type_id=10
[18] TYPEDEF '__wsum' type_id=10
[19] INT 'long unsigned int' size=8 bits_offset=0 nr_bits=64 encoding=(none)
[20] ENUM 'bpf_map_type' encoding=UNSIGNED size=4 vlen=34
        'BPF_MAP_TYPE_UNSPEC' val=0
        'BPF_MAP_TYPE_HASH' val=1
        'BPF_MAP_TYPE_ARRAY' val=2
        'BPF_MAP_TYPE_PROG_ARRAY' val=3
        'BPF_MAP_TYPE_PERF_EVENT_ARRAY' val=4
        'BPF_MAP_TYPE_PERCPU_HASH' val=5
        'BPF_MAP_TYPE_PERCPU_ARRAY' val=6
        'BPF_MAP_TYPE_STACK_TRACE' val=7
        'BPF_MAP_TYPE_CGROUP_ARRAY' val=8
        'BPF_MAP_TYPE_LRU_HASH' val=9
        'BPF_MAP_TYPE_LRU_PERCPU_HASH' val=10
        'BPF_MAP_TYPE_LPM_TRIE' val=11
        'BPF_MAP_TYPE_ARRAY_OF_MAPS' val=12
        'BPF_MAP_TYPE_HASH_OF_MAPS' val=13
        'BPF_MAP_TYPE_DEVMAP' val=14
        'BPF_MAP_TYPE_SOCKMAP' val=15
        'BPF_MAP_TYPE_CPUMAP' val=16
        'BPF_MAP_TYPE_XSKMAP' val=17
        'BPF_MAP_TYPE_SOCKHASH' val=18
        'BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED' val=19
        'BPF_MAP_TYPE_CGROUP_STORAGE' val=19
        'BPF_MAP_TYPE_REUSEPORT_SOCKARRAY' val=20
        'BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE' val=21
        'BPF_MAP_TYPE_QUEUE' val=22
        'BPF_MAP_TYPE_STACK' val=23
        'BPF_MAP_TYPE_SK_STORAGE' val=24
        'BPF_MAP_TYPE_DEVMAP_HASH' val=25
        'BPF_MAP_TYPE_STRUCT_OPS' val=26
        'BPF_MAP_TYPE_RINGBUF' val=27
        'BPF_MAP_TYPE_INODE_STORAGE' val=28
        'BPF_MAP_TYPE_TASK_STORAGE' val=29
        'BPF_MAP_TYPE_BLOOM_FILTER' val=30
        'BPF_MAP_TYPE_USER_RINGBUF' val=31
        'BPF_MAP_TYPE_CGRP_STORAGE' val=32
[21] INT 'char' size=1 bits_offset=0 nr_bits=8 encoding=SIGNED
[22] CONST '(anon)' type_id=21
[23] VOLATILE '(anon)' type_id=21
[24] UNION '(anon)' size=8 vlen=1
        'flow_keys' type_id=30 bits_offset=0
[25] STRUCT 'bpf_flow_keys' size=56 vlen=13
        'nhoff' type_id=6 bits_offset=0
        'thoff' type_id=6 bits_offset=16
        'addr_proto' type_id=6 bits_offset=32
        'is_frag' type_id=3 bits_offset=48
        'is_first_frag' type_id=3 bits_offset=56
        'is_encap' type_id=3 bits_offset=64
        'ip_proto' type_id=3 bits_offset=72
        'n_proto' type_id=16 bits_offset=80
        'sport' type_id=16 bits_offset=96
        'dport' type_id=16 bits_offset=112
        '(anon)' type_id=26 bits_offset=128
        'flags' type_id=10 bits_offset=384
        'flow_label' type_id=17 bits_offset=416
[26] UNION '(anon)' size=32 vlen=2
        '(anon)' type_id=27 bits_offset=0
        '(anon)' type_id=28 bits_offset=0
[27] STRUCT '(anon)' size=8 vlen=2
        'ipv4_src' type_id=17 bits_offset=0
        'ipv4_dst' type_id=17 bits_offset=32
[28] STRUCT '(anon)' size=32 vlen=2
        'ipv6_src' type_id=29 bits_offset=0
        'ipv6_dst' type_id=29 bits_offset=128
[29] ARRAY '(anon)' type_id=10 index_type_id=19 nr_elems=4
[30] PTR '(anon)' type_id=25
[31] UNION '(anon)' size=8 vlen=1
        'sk' type_id=33 bits_offset=0
[32] STRUCT 'bpf_sock' size=80 vlen=14
        'bound_dev_if' type_id=10 bits_offset=0
        'family' type_id=10 bits_offset=32
        'type' type_id=10 bits_offset=64
        'protocol' type_id=10 bits_offset=96
        'mark' type_id=10 bits_offset=128
        'priority' type_id=10 bits_offset=160
        'src_ip4' type_id=10 bits_offset=192
        'src_ip6' type_id=29 bits_offset=224
        'src_port' type_id=10 bits_offset=352
        'dst_port' type_id=16 bits_offset=384
        'dst_ip4' type_id=10 bits_offset=416
        'dst_ip6' type_id=29 bits_offset=448
        'state' type_id=10 bits_offset=576
        'rx_queue_mapping' type_id=8 bits_offset=608
[33] PTR '(anon)' type_id=32
[34] STRUCT '__sk_buff' size=192 vlen=34
        'len' type_id=10 bits_offset=0
        'pkt_type' type_id=10 bits_offset=32
        'mark' type_id=10 bits_offset=64
        'queue_mapping' type_id=10 bits_offset=96
        'protocol' type_id=10 bits_offset=128
        'vlan_present' type_id=10 bits_offset=160
        'vlan_tci' type_id=10 bits_offset=192
        'vlan_proto' type_id=10 bits_offset=224
        'priority' type_id=10 bits_offset=256
        'ingress_ifindex' type_id=10 bits_offset=288
        'ifindex' type_id=10 bits_offset=320
        'tc_index' type_id=10 bits_offset=352
        'cb' type_id=35 bits_offset=384
        'hash' type_id=10 bits_offset=544
        'tc_classid' type_id=10 bits_offset=576
        'data' type_id=10 bits_offset=608
        'data_end' type_id=10 bits_offset=640
        'napi_id' type_id=10 bits_offset=672
        'family' type_id=10 bits_offset=704
        'remote_ip4' type_id=10 bits_offset=736
        'local_ip4' type_id=10 bits_offset=768
        'remote_ip6' type_id=29 bits_offset=800
        'local_ip6' type_id=29 bits_offset=928
        'remote_port' type_id=10 bits_offset=1056
        'local_port' type_id=10 bits_offset=1088
        'data_meta' type_id=10 bits_offset=1120
        '(anon)' type_id=24 bits_offset=1152
        'tstamp' type_id=15 bits_offset=1216
        'wire_len' type_id=10 bits_offset=1280
        'gso_segs' type_id=10 bits_offset=1312
        '(anon)' type_id=31 bits_offset=1344
        'gso_size' type_id=10 bits_offset=1408
        'tstamp_type' type_id=3 bits_offset=1440
        'hwtstamp' type_id=15 bits_offset=1472
[35] ARRAY '(anon)' type_id=10 index_type_id=19 nr_elems=5
[36] UNION '(anon)' size=16 vlen=2
        'remote_ipv4' type_id=10 bits_offset=0
        'remote_ipv6' type_id=29 bits_offset=0
[37] UNION '(anon)' size=2 vlen=2
        'tunnel_ext' type_id=6 bits_offset=0
        'tunnel_flags' type_id=16 bits_offset=0
[38] UNION '(anon)' size=16 vlen=2
        'local_ipv4' type_id=10 bits_offset=0
        'local_ipv6' type_id=29 bits_offset=0
[39] STRUCT 'bpf_tunnel_key' size=44 vlen=7
        'tunnel_id' type_id=10 bits_offset=0
        '(anon)' type_id=36 bits_offset=32
        'tunnel_tos' type_id=3 bits_offset=160
        'tunnel_ttl' type_id=3 bits_offset=168
        '(anon)' type_id=37 bits_offset=176
        'tunnel_label' type_id=10 bits_offset=192
        '(anon)' type_id=38 bits_offset=224
[40] UNION '(anon)' size=16 vlen=2
        'remote_ipv4' type_id=10 bits_offset=0
        'remote_ipv6' type_id=29 bits_offset=0
[41] STRUCT 'bpf_xfrm_state' size=28 vlen=5
        'reqid' type_id=10 bits_offset=0
        'spi' type_id=10 bits_offset=32
        'family' type_id=6 bits_offset=64
        'ext' type_id=6 bits_offset=80
        '(anon)' type_id=40 bits_offset=96
[42] STRUCT 'bpf_tcp_sock' size=112 vlen=26
        'snd_cwnd' type_id=10 bits_offset=0
        'srtt_us' type_id=10 bits_offset=32
        'rtt_min' type_id=10 bits_offset=64
        'snd_ssthresh' type_id=10 bits_offset=96
        'rcv_nxt' type_id=10 bits_offset=128
        'snd_nxt' type_id=10 bits_offset=160
        'snd_una' type_id=10 bits_offset=192
        'mss_cache' type_id=10 bits_offset=224
        'ecn_flags' type_id=10 bits_offset=256
        'rate_delivered' type_id=10 bits_offset=288
        'rate_interval_us' type_id=10 bits_offset=320
        'packets_out' type_id=10 bits_offset=352
        'retrans_out' type_id=10 bits_offset=384
        'total_retrans' type_id=10 bits_offset=416
        'segs_in' type_id=10 bits_offset=448
        'data_segs_in' type_id=10 bits_offset=480
        'segs_out' type_id=10 bits_offset=512
        'data_segs_out' type_id=10 bits_offset=544
        'lost_out' type_id=10 bits_offset=576
        'sacked_out' type_id=10 bits_offset=608
        'bytes_received' type_id=15 bits_offset=640
        'bytes_acked' type_id=15 bits_offset=704
        'dsack_dups' type_id=10 bits_offset=768
        'delivered' type_id=10 bits_offset=800
        'delivered_ce' type_id=10 bits_offset=832
        'icsk_retransmits' type_id=10 bits_offset=864
[43] STRUCT '(anon)' size=12 vlen=4
        'saddr' type_id=17 bits_offset=0
        'daddr' type_id=17 bits_offset=32
        'sport' type_id=16 bits_offset=64
        'dport' type_id=16 bits_offset=80
[44] STRUCT '(anon)' size=36 vlen=4
        'saddr' type_id=45 bits_offset=0
        'daddr' type_id=45 bits_offset=128
        'sport' type_id=16 bits_offset=256
        'dport' type_id=16 bits_offset=272
[45] ARRAY '(anon)' type_id=17 index_type_id=19 nr_elems=4
[46] UNION '(anon)' size=36 vlen=2
        'ipv4' type_id=43 bits_offset=0
        'ipv6' type_id=44 bits_offset=0
[47] STRUCT 'bpf_sock_tuple' size=36 vlen=1
        '(anon)' type_id=46 bits_offset=0
[48] STRUCT 'xdp_md' size=24 vlen=6
        'data' type_id=10 bits_offset=0
        'data_end' type_id=10 bits_offset=32
        'data_meta' type_id=10 bits_offset=64
        'ingress_ifindex' type_id=10 bits_offset=96
        'rx_queue_index' type_id=10 bits_offset=128
        'egress_ifindex' type_id=10 bits_offset=160
[49] UNION '(anon)' size=8 vlen=1
        'data' type_id=50 bits_offset=0
[50] PTR '(anon)' type_id=0
[51] UNION '(anon)' size=8 vlen=1
        'data_end' type_id=50 bits_offset=0
[52] UNION '(anon)' size=8 vlen=1
        'sk' type_id=33 bits_offset=0
[53] STRUCT 'sk_msg_md' size=80 vlen=11
        '(anon)' type_id=49 bits_offset=0
        '(anon)' type_id=51 bits_offset=64
        'family' type_id=10 bits_offset=128
        'remote_ip4' type_id=10 bits_offset=160
        'local_ip4' type_id=10 bits_offset=192
        'remote_ip6' type_id=29 bits_offset=224
        'local_ip6' type_id=29 bits_offset=352
        'remote_port' type_id=10 bits_offset=480
        'local_port' type_id=10 bits_offset=512
        'size' type_id=10 bits_offset=544
        '(anon)' type_id=52 bits_offset=576
[54] UNION '(anon)' size=8 vlen=1
        'data' type_id=50 bits_offset=0
[55] UNION '(anon)' size=8 vlen=1
        'data_end' type_id=50 bits_offset=0
[56] UNION '(anon)' size=8 vlen=1
        'sk' type_id=33 bits_offset=0
[57] UNION '(anon)' size=8 vlen=1
        'migrating_sk' type_id=33 bits_offset=0
[58] STRUCT 'sk_reuseport_md' size=56 vlen=9
        '(anon)' type_id=54 bits_offset=0
        '(anon)' type_id=55 bits_offset=64
        'len' type_id=10 bits_offset=128
        'eth_protocol' type_id=10 bits_offset=160
        'ip_protocol' type_id=10 bits_offset=192
        'bind_inany' type_id=10 bits_offset=224
        'hash' type_id=10 bits_offset=256
        '(anon)' type_id=56 bits_offset=320
        '(anon)' type_id=57 bits_offset=384
[59] UNION '(anon)' size=8 vlen=1
        'sk' type_id=33 bits_offset=0
[60] STRUCT 'bpf_sock_addr' size=72 vlen=10
        'user_family' type_id=10 bits_offset=0
        'user_ip4' type_id=10 bits_offset=32
        'user_ip6' type_id=29 bits_offset=64
        'user_port' type_id=10 bits_offset=192
        'family' type_id=10 bits_offset=224
        'type' type_id=10 bits_offset=256
        'protocol' type_id=10 bits_offset=288
        'msg_src_ip4' type_id=10 bits_offset=320
        'msg_src_ip6' type_id=29 bits_offset=352
        '(anon)' type_id=59 bits_offset=512
[61] UNION '(anon)' size=16 vlen=3
        'args' type_id=29 bits_offset=0
        'reply' type_id=10 bits_offset=0
        'replylong' type_id=29 bits_offset=0
[62] UNION '(anon)' size=8 vlen=1
        'sk' type_id=33 bits_offset=0
[63] UNION '(anon)' size=8 vlen=1
        'skb_data' type_id=50 bits_offset=0
[64] UNION '(anon)' size=8 vlen=1
        'skb_data_end' type_id=50 bits_offset=0
[65] STRUCT 'bpf_sock_ops' size=224 vlen=41
        'op' type_id=10 bits_offset=0
        '(anon)' type_id=61 bits_offset=32
        'family' type_id=10 bits_offset=160
        'remote_ip4' type_id=10 bits_offset=192
        'local_ip4' type_id=10 bits_offset=224
        'remote_ip6' type_id=29 bits_offset=256
        'local_ip6' type_id=29 bits_offset=384
        'remote_port' type_id=10 bits_offset=512
        'local_port' type_id=10 bits_offset=544
        'is_fullsock' type_id=10 bits_offset=576
        'snd_cwnd' type_id=10 bits_offset=608
        'srtt_us' type_id=10 bits_offset=640
        'bpf_sock_ops_cb_flags' type_id=10 bits_offset=672
        'state' type_id=10 bits_offset=704
        'rtt_min' type_id=10 bits_offset=736
        'snd_ssthresh' type_id=10 bits_offset=768
        'rcv_nxt' type_id=10 bits_offset=800
        'snd_nxt' type_id=10 bits_offset=832
        'snd_una' type_id=10 bits_offset=864
        'mss_cache' type_id=10 bits_offset=896
        'ecn_flags' type_id=10 bits_offset=928
        'rate_delivered' type_id=10 bits_offset=960
        'rate_interval_us' type_id=10 bits_offset=992
        'packets_out' type_id=10 bits_offset=1024
        'retrans_out' type_id=10 bits_offset=1056
        'total_retrans' type_id=10 bits_offset=1088
        'segs_in' type_id=10 bits_offset=1120
        'data_segs_in' type_id=10 bits_offset=1152
        'segs_out' type_id=10 bits_offset=1184
        'data_segs_out' type_id=10 bits_offset=1216
        'lost_out' type_id=10 bits_offset=1248
        'sacked_out' type_id=10 bits_offset=1280
        'sk_txhash' type_id=10 bits_offset=1312
        'bytes_received' type_id=15 bits_offset=1344
        'bytes_acked' type_id=15 bits_offset=1408
        '(anon)' type_id=62 bits_offset=1472
        '(anon)' type_id=63 bits_offset=1536
        '(anon)' type_id=64 bits_offset=1600
        'skb_len' type_id=10 bits_offset=1664
        'skb_tcp_flags' type_id=10 bits_offset=1696
        'skb_hwtstamp' type_id=15 bits_offset=1728
[66] STRUCT 'bpf_perf_event_value' size=24 vlen=3
        'counter' type_id=15 bits_offset=0
        'enabled' type_id=15 bits_offset=64
        'running' type_id=15 bits_offset=128
[67] UNION '(anon)' size=2 vlen=2
        'tot_len' type_id=6 bits_offset=0
        'mtu_result' type_id=6 bits_offset=0
[68] UNION '(anon)' size=4 vlen=3
        'tos' type_id=3 bits_offset=0
        'flowinfo' type_id=17 bits_offset=0
        'rt_metric' type_id=10 bits_offset=0
[69] UNION '(anon)' size=16 vlen=2
        'ipv4_src' type_id=17 bits_offset=0
        'ipv6_src' type_id=29 bits_offset=0
[70] UNION '(anon)' size=16 vlen=2
        'ipv4_dst' type_id=17 bits_offset=0
        'ipv6_dst' type_id=29 bits_offset=0
[71] STRUCT 'bpf_fib_lookup' size=64 vlen=13
        'family' type_id=3 bits_offset=0
        'l4_protocol' type_id=3 bits_offset=8
        'sport' type_id=16 bits_offset=16
        'dport' type_id=16 bits_offset=32
        '(anon)' type_id=67 bits_offset=48
        'ifindex' type_id=10 bits_offset=64
        '(anon)' type_id=68 bits_offset=96
        '(anon)' type_id=69 bits_offset=128
        '(anon)' type_id=70 bits_offset=256
        'h_vlan_proto' type_id=16 bits_offset=384
        'h_vlan_TCI' type_id=16 bits_offset=400
        'smac' type_id=72 bits_offset=416
        'dmac' type_id=72 bits_offset=464
[72] ARRAY '(anon)' type_id=3 index_type_id=19 nr_elems=6
[73] UNION '(anon)' size=16 vlen=2
        'ipv4_nh' type_id=17 bits_offset=0
        'ipv6_nh' type_id=29 bits_offset=0
[74] STRUCT 'bpf_redir_neigh' size=20 vlen=2
        'nh_family' type_id=10 bits_offset=0
        '(anon)' type_id=73 bits_offset=32
[75] STRUCT 'bpf_spin_lock' size=4 vlen=1
        'val' type_id=10 bits_offset=0
[76] STRUCT 'bpf_timer' size=16 vlen=0
[77] STRUCT 'bpf_dynptr' size=16 vlen=0
[78] STRUCT 'bpf_sysctl' size=8 vlen=2
        'write' type_id=10 bits_offset=0
        'file_pos' type_id=10 bits_offset=32
[79] STRUCT 'bpf_pidns_info' size=8 vlen=2
        'pid' type_id=10 bits_offset=0
        'tgid' type_id=10 bits_offset=32
[80] STRUCT 'btf_ptr' size=16 vlen=3
        'ptr' type_id=50 bits_offset=0
        'type_id' type_id=10 bits_offset=64
        'flags' type_id=10 bits_offset=96
[81] FUNC_PROTO '(anon)' ret_type_id=50 vlen=2
        '(anon)' type_id=50
        '(anon)' type_id=83
[82] CONST '(anon)' type_id=0
[83] PTR '(anon)' type_id=82
[84] PTR '(anon)' type_id=81
[85] INT 'long int' size=8 bits_offset=0 nr_bits=64 encoding=SIGNED
[86] FUNC_PROTO '(anon)' ret_type_id=85 vlen=4
        '(anon)' type_id=50
        '(anon)' type_id=83
        '(anon)' type_id=83
        '(anon)' type_id=15
[87] PTR '(anon)' type_id=86
[88] FUNC_PROTO '(anon)' ret_type_id=85 vlen=2
        '(anon)' type_id=50
        '(anon)' type_id=83
[89] PTR '(anon)' type_id=88
[90] FUNC_PROTO '(anon)' ret_type_id=85 vlen=3
        '(anon)' type_id=50
        '(anon)' type_id=10
        '(anon)' type_id=83
[91] PTR '(anon)' type_id=90
[92] FUNC_PROTO '(anon)' ret_type_id=15 vlen=0
[93] PTR '(anon)' type_id=92
[94] FUNC_PROTO '(anon)' ret_type_id=85 vlen=3
        '(anon)' type_id=95
        '(anon)' type_id=10
        '(anon)' type_id=0
[95] PTR '(anon)' type_id=22
[96] PTR '(anon)' type_id=94
[97] FUNC_PROTO '(anon)' ret_type_id=10 vlen=0
[98] PTR '(anon)' type_id=97
[99] FUNC_PROTO '(anon)' ret_type_id=85 vlen=5
        '(anon)' type_id=100
        '(anon)' type_id=10
        '(anon)' type_id=83
        '(anon)' type_id=10
        '(anon)' type_id=15
[100] PTR '(anon)' type_id=34
[101] PTR '(anon)' type_id=99
[102] FUNC_PROTO '(anon)' ret_type_id=85 vlen=5
        '(anon)' type_id=100
        '(anon)' type_id=10
        '(anon)' type_id=15
        '(anon)' type_id=15
        '(anon)' type_id=15
[103] PTR '(anon)' type_id=102
[104] FUNC_PROTO '(anon)' ret_type_id=85 vlen=3
        '(anon)' type_id=50
        '(anon)' type_id=50
        '(anon)' type_id=10
[105] PTR '(anon)' type_id=104
[106] FUNC_PROTO '(anon)' ret_type_id=85 vlen=3
        '(anon)' type_id=100
        '(anon)' type_id=10
        '(anon)' type_id=15
[107] PTR '(anon)' type_id=106
[108] FUNC_PROTO '(anon)' ret_type_id=85 vlen=2
        '(anon)' type_id=50
        '(anon)' type_id=10
[109] PTR '(anon)' type_id=108
[110] FUNC_PROTO '(anon)' ret_type_id=10 vlen=1
        '(anon)' type_id=100
[111] PTR '(anon)' type_id=110
[112] FUNC_PROTO '(anon)' ret_type_id=85 vlen=3
        '(anon)' type_id=100
        '(anon)' type_id=16
        '(anon)' type_id=6
[113] PTR '(anon)' type_id=112
[114] FUNC_PROTO '(anon)' ret_type_id=85 vlen=1
        '(anon)' type_id=100
[115] PTR '(anon)' type_id=114
[116] FUNC_PROTO '(anon)' ret_type_id=85 vlen=4
        '(anon)' type_id=100
        '(anon)' type_id=117
        '(anon)' type_id=10
        '(anon)' type_id=15
[117] PTR '(anon)' type_id=39
[118] PTR '(anon)' type_id=116
[119] FUNC_PROTO '(anon)' ret_type_id=15 vlen=2
        '(anon)' type_id=50
        '(anon)' type_id=15
[120] PTR '(anon)' type_id=119
[121] FUNC_PROTO '(anon)' ret_type_id=85 vlen=2
        '(anon)' type_id=10
        '(anon)' type_id=15
[122] PTR '(anon)' type_id=121
[123] FUNC_PROTO '(anon)' ret_type_id=85 vlen=5
        '(anon)' type_id=50
        '(anon)' type_id=50
        '(anon)' type_id=15
        '(anon)' type_id=50
        '(anon)' type_id=15
[124] PTR '(anon)' type_id=123
[125] FUNC_PROTO '(anon)' ret_type_id=85 vlen=4
        '(anon)' type_id=83
        '(anon)' type_id=10
        '(anon)' type_id=50
        '(anon)' type_id=10
[126] PTR '(anon)' type_id=125
[127] FUNC_PROTO '(anon)' ret_type_id=85 vlen=3
        '(anon)' type_id=50
        '(anon)' type_id=50
        '(anon)' type_id=15
[128] PTR '(anon)' type_id=127
[129] FUNC_PROTO '(anon)' ret_type_id=13 vlen=5
        '(anon)' type_id=130
        '(anon)' type_id=10
        '(anon)' type_id=130
        '(anon)' type_id=10
        '(anon)' type_id=18
[130] PTR '(anon)' type_id=17
[131] PTR '(anon)' type_id=129
[132] FUNC_PROTO '(anon)' ret_type_id=85 vlen=3
        '(anon)' type_id=100
        '(anon)' type_id=50
        '(anon)' type_id=10
[133] PTR '(anon)' type_id=132
[134] FUNC_PROTO '(anon)' ret_type_id=85 vlen=3
        '(anon)' type_id=100
        '(anon)' type_id=16
        '(anon)' type_id=15
[135] PTR '(anon)' type_id=134
[136] FUNC_PROTO '(anon)' ret_type_id=85 vlen=2
        '(anon)' type_id=100
        '(anon)' type_id=10
[137] PTR '(anon)' type_id=136
[138] FUNC_PROTO '(anon)' ret_type_id=85 vlen=3
        '(anon)' type_id=50
        '(anon)' type_id=83
        '(anon)' type_id=10
[139] PTR '(anon)' type_id=138
[140] FUNC_PROTO '(anon)' ret_type_id=13 vlen=2
        '(anon)' type_id=100
        '(anon)' type_id=18
[141] PTR '(anon)' type_id=140
[142] FUNC_PROTO '(anon)' ret_type_id=0 vlen=1
        '(anon)' type_id=100
[143] PTR '(anon)' type_id=142
[144] FUNC_PROTO '(anon)' ret_type_id=85 vlen=0
[145] PTR '(anon)' type_id=144
[146] FUNC_PROTO '(anon)' ret_type_id=85 vlen=2
        '(anon)' type_id=147
        '(anon)' type_id=7
[147] PTR '(anon)' type_id=48
[148] PTR '(anon)' type_id=146
[149] FUNC_PROTO '(anon)' ret_type_id=15 vlen=1
        '(anon)' type_id=50
[150] PTR '(anon)' type_id=149
[151] FUNC_PROTO '(anon)' ret_type_id=85 vlen=5
        '(anon)' type_id=50
        '(anon)' type_id=7
        '(anon)' type_id=7
        '(anon)' type_id=50
        '(anon)' type_id=7
[152] PTR '(anon)' type_id=151
[153] FUNC_PROTO '(anon)' ret_type_id=85 vlen=4
        '(anon)' type_id=100
        '(anon)' type_id=8
        '(anon)' type_id=10
        '(anon)' type_id=15
[154] PTR '(anon)' type_id=153
[155] FUNC_PROTO '(anon)' ret_type_id=85 vlen=3
        '(anon)' type_id=50
        '(anon)' type_id=10
        '(anon)' type_id=15
[156] PTR '(anon)' type_id=155
[157] FUNC_PROTO '(anon)' ret_type_id=85 vlen=4
        '(anon)' type_id=100
        '(anon)' type_id=50
        '(anon)' type_id=10
        '(anon)' type_id=15
[158] PTR '(anon)' type_id=157
[159] FUNC_PROTO '(anon)' ret_type_id=85 vlen=4
        '(anon)' type_id=160
        '(anon)' type_id=50
        '(anon)' type_id=50
        '(anon)' type_id=15
[160] PTR '(anon)' type_id=65
[161] PTR '(anon)' type_id=159
[162] FUNC_PROTO '(anon)' ret_type_id=85 vlen=4
        '(anon)' type_id=50
        '(anon)' type_id=15
        '(anon)' type_id=163
        '(anon)' type_id=10
[163] PTR '(anon)' type_id=66
[164] PTR '(anon)' type_id=162
[165] FUNC_PROTO '(anon)' ret_type_id=85 vlen=3
        '(anon)' type_id=167
        '(anon)' type_id=163
        '(anon)' type_id=10
[166] FWD 'bpf_perf_event_data' fwd_kind=struct
[167] PTR '(anon)' type_id=166
[168] PTR '(anon)' type_id=165
[169] FUNC_PROTO '(anon)' ret_type_id=85 vlen=2
        '(anon)' type_id=171
        '(anon)' type_id=15
[170] FWD 'pt_regs' fwd_kind=struct
[171] PTR '(anon)' type_id=170
[172] PTR '(anon)' type_id=169
[173] FUNC_PROTO '(anon)' ret_type_id=85 vlen=2
        '(anon)' type_id=160
        '(anon)' type_id=7
[174] PTR '(anon)' type_id=173
[175] FUNC_PROTO '(anon)' ret_type_id=85 vlen=4
        '(anon)' type_id=176
        '(anon)' type_id=50
        '(anon)' type_id=10
        '(anon)' type_id=15
[176] PTR '(anon)' type_id=53
[177] PTR '(anon)' type_id=175
[178] FUNC_PROTO '(anon)' ret_type_id=85 vlen=2
        '(anon)' type_id=176
        '(anon)' type_id=10
[179] PTR '(anon)' type_id=178
[180] FUNC_PROTO '(anon)' ret_type_id=85 vlen=4
        '(anon)' type_id=176
        '(anon)' type_id=10
        '(anon)' type_id=10
        '(anon)' type_id=15
[181] PTR '(anon)' type_id=180
[182] FUNC_PROTO '(anon)' ret_type_id=85 vlen=3
        '(anon)' type_id=183
        '(anon)' type_id=185
        '(anon)' type_id=7
[183] PTR '(anon)' type_id=60
[184] FWD 'sockaddr' fwd_kind=struct
[185] PTR '(anon)' type_id=184
[186] PTR '(anon)' type_id=182
[187] FUNC_PROTO '(anon)' ret_type_id=85 vlen=5
        '(anon)' type_id=100
        '(anon)' type_id=10
        '(anon)' type_id=188
        '(anon)' type_id=10
        '(anon)' type_id=15
[188] PTR '(anon)' type_id=41
[189] PTR '(anon)' type_id=187
[190] FUNC_PROTO '(anon)' ret_type_id=85 vlen=4
        '(anon)' type_id=50
        '(anon)' type_id=50
        '(anon)' type_id=10
        '(anon)' type_id=15
[191] PTR '(anon)' type_id=190
[192] FUNC_PROTO '(anon)' ret_type_id=85 vlen=5
        '(anon)' type_id=83
        '(anon)' type_id=10
        '(anon)' type_id=50
        '(anon)' type_id=10
        '(anon)' type_id=10
[193] PTR '(anon)' type_id=192
[194] FUNC_PROTO '(anon)' ret_type_id=85 vlen=4
        '(anon)' type_id=50
        '(anon)' type_id=195
        '(anon)' type_id=7
        '(anon)' type_id=10
[195] PTR '(anon)' type_id=71
[196] PTR '(anon)' type_id=194
[197] FUNC_PROTO '(anon)' ret_type_id=85 vlen=4
        '(anon)' type_id=176
        '(anon)' type_id=50
        '(anon)' type_id=50
        '(anon)' type_id=15
[198] PTR '(anon)' type_id=197
[199] FUNC_PROTO '(anon)' ret_type_id=85 vlen=4
        '(anon)' type_id=100
        '(anon)' type_id=50
        '(anon)' type_id=50
        '(anon)' type_id=15
[200] PTR '(anon)' type_id=199
[201] FUNC_PROTO '(anon)' ret_type_id=85 vlen=4
        '(anon)' type_id=100
        '(anon)' type_id=10
        '(anon)' type_id=50
        '(anon)' type_id=10
[202] PTR '(anon)' type_id=201
[203] FUNC_PROTO '(anon)' ret_type_id=85 vlen=4
        '(anon)' type_id=100
        '(anon)' type_id=10
        '(anon)' type_id=83
        '(anon)' type_id=10
[204] PTR '(anon)' type_id=203
[205] FUNC_PROTO '(anon)' ret_type_id=85 vlen=3
        '(anon)' type_id=100
        '(anon)' type_id=10
        '(anon)' type_id=8
[206] PTR '(anon)' type_id=205
[207] FUNC_PROTO '(anon)' ret_type_id=85 vlen=1
        '(anon)' type_id=50
[208] PTR '(anon)' type_id=207
[209] FUNC_PROTO '(anon)' ret_type_id=85 vlen=4
        '(anon)' type_id=50
        '(anon)' type_id=10
        '(anon)' type_id=15
        '(anon)' type_id=10
[210] PTR '(anon)' type_id=209
[211] FUNC_PROTO '(anon)' ret_type_id=15 vlen=1
        '(anon)' type_id=100
[212] PTR '(anon)' type_id=211
[213] FUNC_PROTO '(anon)' ret_type_id=50 vlen=2
        '(anon)' type_id=50
        '(anon)' type_id=15
[214] PTR '(anon)' type_id=213
[215] FUNC_PROTO '(anon)' ret_type_id=85 vlen=4
        '(anon)' type_id=216
        '(anon)' type_id=50
        '(anon)' type_id=50
        '(anon)' type_id=15
[216] PTR '(anon)' type_id=58
[217] PTR '(anon)' type_id=215
[218] FUNC_PROTO '(anon)' ret_type_id=15 vlen=2
        '(anon)' type_id=100
        '(anon)' type_id=7
[219] PTR '(anon)' type_id=218
[220] FUNC_PROTO '(anon)' ret_type_id=33 vlen=5
        '(anon)' type_id=50
        '(anon)' type_id=221
        '(anon)' type_id=10
        '(anon)' type_id=15
        '(anon)' type_id=15
[221] PTR '(anon)' type_id=47
[222] PTR '(anon)' type_id=220
[223] FUNC_PROTO '(anon)' ret_type_id=85 vlen=3
        '(anon)' type_id=50
        '(anon)' type_id=83
        '(anon)' type_id=15
[224] PTR '(anon)' type_id=223
[225] FUNC_PROTO '(anon)' ret_type_id=85 vlen=2
        '(anon)' type_id=50
        '(anon)' type_id=50
[226] PTR '(anon)' type_id=225
[227] FUNC_PROTO '(anon)' ret_type_id=85 vlen=3
        '(anon)' type_id=50
        '(anon)' type_id=8
        '(anon)' type_id=8
[228] PTR '(anon)' type_id=227
[229] FUNC_PROTO '(anon)' ret_type_id=85 vlen=1
        '(anon)' type_id=230
[230] PTR '(anon)' type_id=75
[231] PTR '(anon)' type_id=229
[232] FUNC_PROTO '(anon)' ret_type_id=33 vlen=1
        '(anon)' type_id=33
[233] PTR '(anon)' type_id=232
[234] PTR '(anon)' type_id=42
[235] FUNC_PROTO '(anon)' ret_type_id=234 vlen=1
        '(anon)' type_id=33
[236] PTR '(anon)' type_id=235
[237] FUNC_PROTO '(anon)' ret_type_id=85 vlen=5
        '(anon)' type_id=50
        '(anon)' type_id=50
        '(anon)' type_id=10
        '(anon)' type_id=239
        '(anon)' type_id=10
[238] FWD 'tcphdr' fwd_kind=struct
[239] PTR '(anon)' type_id=238
[240] PTR '(anon)' type_id=237
[241] FUNC_PROTO '(anon)' ret_type_id=85 vlen=4
        '(anon)' type_id=242
        '(anon)' type_id=243
        '(anon)' type_id=19
        '(anon)' type_id=15
[242] PTR '(anon)' type_id=78
[243] PTR '(anon)' type_id=21
[244] PTR '(anon)' type_id=241
[245] FUNC_PROTO '(anon)' ret_type_id=85 vlen=3
        '(anon)' type_id=242
        '(anon)' type_id=243
        '(anon)' type_id=19
[246] PTR '(anon)' type_id=245
[247] FUNC_PROTO '(anon)' ret_type_id=85 vlen=3
        '(anon)' type_id=242
        '(anon)' type_id=95
        '(anon)' type_id=19
[248] PTR '(anon)' type_id=247
[249] FUNC_PROTO '(anon)' ret_type_id=85 vlen=4
        '(anon)' type_id=95
        '(anon)' type_id=19
        '(anon)' type_id=15
        '(anon)' type_id=250
[250] PTR '(anon)' type_id=85
[251] PTR '(anon)' type_id=249
[252] FUNC_PROTO '(anon)' ret_type_id=85 vlen=4
        '(anon)' type_id=95
        '(anon)' type_id=19
        '(anon)' type_id=15
        '(anon)' type_id=253
[253] PTR '(anon)' type_id=19
[254] PTR '(anon)' type_id=252
[255] FUNC_PROTO '(anon)' ret_type_id=50 vlen=4
        '(anon)' type_id=50
        '(anon)' type_id=50
        '(anon)' type_id=50
        '(anon)' type_id=15
[256] PTR '(anon)' type_id=255
[257] FUNC_PROTO '(anon)' ret_type_id=85 vlen=1
        '(anon)' type_id=10
[258] PTR '(anon)' type_id=257
[259] FUNC_PROTO '(anon)' ret_type_id=13 vlen=5
        '(anon)' type_id=50
        '(anon)' type_id=50
        '(anon)' type_id=10
        '(anon)' type_id=239
        '(anon)' type_id=10
[260] PTR '(anon)' type_id=259
[261] FUNC_PROTO '(anon)' ret_type_id=85 vlen=4
        '(anon)' type_id=167
        '(anon)' type_id=50
        '(anon)' type_id=10
        '(anon)' type_id=15
[262] PTR '(anon)' type_id=261
[263] FUNC_PROTO '(anon)' ret_type_id=85 vlen=4
        '(anon)' type_id=15
        '(anon)' type_id=15
        '(anon)' type_id=264
        '(anon)' type_id=10
[264] PTR '(anon)' type_id=79
[265] PTR '(anon)' type_id=263
[266] FUNC_PROTO '(anon)' ret_type_id=15 vlen=1
        '(anon)' type_id=7
[267] PTR '(anon)' type_id=266
[268] FUNC_PROTO '(anon)' ret_type_id=85 vlen=5
        '(anon)' type_id=270
        '(anon)' type_id=95
        '(anon)' type_id=10
        '(anon)' type_id=83
        '(anon)' type_id=10
[269] FWD 'seq_file' fwd_kind=struct
[270] PTR '(anon)' type_id=269
[271] PTR '(anon)' type_id=268
[272] FUNC_PROTO '(anon)' ret_type_id=85 vlen=3
        '(anon)' type_id=270
        '(anon)' type_id=83
        '(anon)' type_id=10
[273] PTR '(anon)' type_id=272
[274] FUNC_PROTO '(anon)' ret_type_id=15 vlen=2
        '(anon)' type_id=50
        '(anon)' type_id=7
[275] PTR '(anon)' type_id=274
[276] FUNC_PROTO '(anon)' ret_type_id=85 vlen=4
        '(anon)' type_id=50
        '(anon)' type_id=50
        '(anon)' type_id=15
        '(anon)' type_id=15
[277] PTR '(anon)' type_id=276
[278] FUNC_PROTO '(anon)' ret_type_id=50 vlen=3
        '(anon)' type_id=50
        '(anon)' type_id=15
        '(anon)' type_id=15
[279] PTR '(anon)' type_id=278
[280] FUNC_PROTO '(anon)' ret_type_id=0 vlen=2
        '(anon)' type_id=50
        '(anon)' type_id=15
[281] PTR '(anon)' type_id=280
[282] FUNC_PROTO '(anon)' ret_type_id=85 vlen=2
        '(anon)' type_id=100
        '(anon)' type_id=15
[283] PTR '(anon)' type_id=282
[284] FWD 'tcp6_sock' fwd_kind=struct
[285] PTR '(anon)' type_id=284
[286] FUNC_PROTO '(anon)' ret_type_id=285 vlen=1
        '(anon)' type_id=50
[287] PTR '(anon)' type_id=286
[288] FWD 'tcp_sock' fwd_kind=struct
[289] PTR '(anon)' type_id=288
[290] FUNC_PROTO '(anon)' ret_type_id=289 vlen=1
        '(anon)' type_id=50
[291] PTR '(anon)' type_id=290
[292] FWD 'tcp_timewait_sock' fwd_kind=struct
[293] PTR '(anon)' type_id=292
[294] FUNC_PROTO '(anon)' ret_type_id=293 vlen=1
        '(anon)' type_id=50
[295] PTR '(anon)' type_id=294
[296] FWD 'tcp_request_sock' fwd_kind=struct
[297] PTR '(anon)' type_id=296
[298] FUNC_PROTO '(anon)' ret_type_id=297 vlen=1
        '(anon)' type_id=50
[299] PTR '(anon)' type_id=298
[300] FWD 'udp6_sock' fwd_kind=struct
[301] PTR '(anon)' type_id=300
[302] FUNC_PROTO '(anon)' ret_type_id=301 vlen=1
        '(anon)' type_id=50
[303] PTR '(anon)' type_id=302
[304] FUNC_PROTO '(anon)' ret_type_id=85 vlen=4
        '(anon)' type_id=306
        '(anon)' type_id=50
        '(anon)' type_id=10
        '(anon)' type_id=15
[305] FWD 'task_struct' fwd_kind=struct
[306] PTR '(anon)' type_id=305
[307] PTR '(anon)' type_id=304
[308] FUNC_PROTO '(anon)' ret_type_id=85 vlen=4
        '(anon)' type_id=160
        '(anon)' type_id=50
        '(anon)' type_id=10
        '(anon)' type_id=15
[309] PTR '(anon)' type_id=308
[310] FUNC_PROTO '(anon)' ret_type_id=85 vlen=4
        '(anon)' type_id=160
        '(anon)' type_id=83
        '(anon)' type_id=10
        '(anon)' type_id=15
[311] PTR '(anon)' type_id=310
[312] FUNC_PROTO '(anon)' ret_type_id=85 vlen=3
        '(anon)' type_id=160
        '(anon)' type_id=10
        '(anon)' type_id=15
[313] PTR '(anon)' type_id=312
[314] FUNC_PROTO '(anon)' ret_type_id=7 vlen=2
        '(anon)' type_id=50
        '(anon)' type_id=50
[315] PTR '(anon)' type_id=314
[316] FUNC_PROTO '(anon)' ret_type_id=85 vlen=3
        '(anon)' type_id=318
        '(anon)' type_id=243
        '(anon)' type_id=10
[317] FWD 'path' fwd_kind=struct
[318] PTR '(anon)' type_id=317
[319] PTR '(anon)' type_id=316
[320] FUNC_PROTO '(anon)' ret_type_id=85 vlen=5
        '(anon)' type_id=243
        '(anon)' type_id=10
        '(anon)' type_id=321
        '(anon)' type_id=10
        '(anon)' type_id=15
[321] PTR '(anon)' type_id=80
[322] PTR '(anon)' type_id=320
[323] FUNC_PROTO '(anon)' ret_type_id=85 vlen=4
        '(anon)' type_id=270
        '(anon)' type_id=321
        '(anon)' type_id=10
        '(anon)' type_id=15
[324] PTR '(anon)' type_id=323
[325] FUNC_PROTO '(anon)' ret_type_id=85 vlen=4
        '(anon)' type_id=10
        '(anon)' type_id=326
        '(anon)' type_id=7
        '(anon)' type_id=15
[326] PTR '(anon)' type_id=74
[327] PTR '(anon)' type_id=325
[328] FUNC_PROTO '(anon)' ret_type_id=50 vlen=2
        '(anon)' type_id=83
        '(anon)' type_id=10
[329] PTR '(anon)' type_id=328
[330] FUNC_PROTO '(anon)' ret_type_id=50 vlen=1
        '(anon)' type_id=83
[331] PTR '(anon)' type_id=330
[332] FUNC_PROTO '(anon)' ret_type_id=50 vlen=4
        '(anon)' type_id=50
        '(anon)' type_id=306
        '(anon)' type_id=50
        '(anon)' type_id=15
[333] PTR '(anon)' type_id=332
[334] FUNC_PROTO '(anon)' ret_type_id=85 vlen=2
        '(anon)' type_id=50
        '(anon)' type_id=306
[335] PTR '(anon)' type_id=334
[336] FUNC_PROTO '(anon)' ret_type_id=306 vlen=0
[337] PTR '(anon)' type_id=336
[338] FUNC_PROTO '(anon)' ret_type_id=85 vlen=2
        '(anon)' type_id=340
        '(anon)' type_id=15
[339] FWD 'linux_binprm' fwd_kind=struct
[340] PTR '(anon)' type_id=339
[341] PTR '(anon)' type_id=338
[342] FUNC_PROTO '(anon)' ret_type_id=85 vlen=3
        '(anon)' type_id=344
        '(anon)' type_id=50
        '(anon)' type_id=10
[343] FWD 'inode' fwd_kind=struct
[344] PTR '(anon)' type_id=343
[345] PTR '(anon)' type_id=342
[346] FWD 'socket' fwd_kind=struct
[347] PTR '(anon)' type_id=346
[348] FUNC_PROTO '(anon)' ret_type_id=347 vlen=1
        '(anon)' type_id=350
[349] FWD 'file' fwd_kind=struct
[350] PTR '(anon)' type_id=349
[351] PTR '(anon)' type_id=348
[352] FUNC_PROTO '(anon)' ret_type_id=85 vlen=5
        '(anon)' type_id=50
        '(anon)' type_id=10
        '(anon)' type_id=353
        '(anon)' type_id=8
        '(anon)' type_id=15
[353] PTR '(anon)' type_id=10
[354] PTR '(anon)' type_id=352
[355] FUNC_PROTO '(anon)' ret_type_id=85 vlen=4
        '(anon)' type_id=50
        '(anon)' type_id=50
        '(anon)' type_id=50
        '(anon)' type_id=15
[356] PTR '(anon)' type_id=355
[357] FUNC_PROTO '(anon)' ret_type_id=85 vlen=5
        '(anon)' type_id=243
        '(anon)' type_id=10
        '(anon)' type_id=95
        '(anon)' type_id=358
        '(anon)' type_id=10
[358] PTR '(anon)' type_id=15
[359] PTR '(anon)' type_id=357
[360] FUNC_PROTO '(anon)' ret_type_id=85 vlen=3
        '(anon)' type_id=10
        '(anon)' type_id=50
        '(anon)' type_id=10
[361] PTR '(anon)' type_id=360
[362] FUNC_PROTO '(anon)' ret_type_id=85 vlen=4
        '(anon)' type_id=243
        '(anon)' type_id=7
        '(anon)' type_id=10
        '(anon)' type_id=7
[363] PTR '(anon)' type_id=362
[364] FUNC_PROTO '(anon)' ret_type_id=85 vlen=3
        '(anon)' type_id=365
        '(anon)' type_id=50
        '(anon)' type_id=15
[365] PTR '(anon)' type_id=76
[366] PTR '(anon)' type_id=364
[367] FUNC_PROTO '(anon)' ret_type_id=85 vlen=2
        '(anon)' type_id=365
        '(anon)' type_id=50
[368] PTR '(anon)' type_id=367
[369] FUNC_PROTO '(anon)' ret_type_id=85 vlen=3
        '(anon)' type_id=365
        '(anon)' type_id=15
        '(anon)' type_id=15
[370] PTR '(anon)' type_id=369
[371] FUNC_PROTO '(anon)' ret_type_id=85 vlen=1
        '(anon)' type_id=365
[372] PTR '(anon)' type_id=371
[373] FUNC_PROTO '(anon)' ret_type_id=85 vlen=1
        '(anon)' type_id=306
[374] PTR '(anon)' type_id=373
[375] FUNC_PROTO '(anon)' ret_type_id=85 vlen=4
        '(anon)' type_id=95
        '(anon)' type_id=10
        '(anon)' type_id=83
        '(anon)' type_id=10
[376] PTR '(anon)' type_id=375
[377] FWD 'unix_sock' fwd_kind=struct
[378] PTR '(anon)' type_id=377
[379] FUNC_PROTO '(anon)' ret_type_id=378 vlen=1
        '(anon)' type_id=50
[380] PTR '(anon)' type_id=379
[381] FUNC_PROTO '(anon)' ret_type_id=85 vlen=4
        '(anon)' type_id=95
        '(anon)' type_id=7
        '(anon)' type_id=7
        '(anon)' type_id=358
[382] PTR '(anon)' type_id=381
[383] FUNC_PROTO '(anon)' ret_type_id=85 vlen=5
        '(anon)' type_id=306
        '(anon)' type_id=15
        '(anon)' type_id=50
        '(anon)' type_id=50
        '(anon)' type_id=15
[384] PTR '(anon)' type_id=383
[385] FUNC_PROTO '(anon)' ret_type_id=85 vlen=4
        '(anon)' type_id=10
        '(anon)' type_id=50
        '(anon)' type_id=50
        '(anon)' type_id=15
[386] PTR '(anon)' type_id=385
[387] FUNC_PROTO '(anon)' ret_type_id=85 vlen=3
        '(anon)' type_id=95
        '(anon)' type_id=10
        '(anon)' type_id=95
[388] PTR '(anon)' type_id=387
[389] FUNC_PROTO '(anon)' ret_type_id=85 vlen=3
        '(anon)' type_id=50
        '(anon)' type_id=10
        '(anon)' type_id=358
[390] PTR '(anon)' type_id=389
[391] FUNC_PROTO '(anon)' ret_type_id=85 vlen=2
        '(anon)' type_id=50
        '(anon)' type_id=358
[392] PTR '(anon)' type_id=391
[393] FUNC_PROTO '(anon)' ret_type_id=7 vlen=0
[394] PTR '(anon)' type_id=393
[395] FUNC_PROTO '(anon)' ret_type_id=7 vlen=1
        '(anon)' type_id=7
[396] PTR '(anon)' type_id=395
[397] FUNC_PROTO '(anon)' ret_type_id=15 vlen=1
        '(anon)' type_id=147
[398] PTR '(anon)' type_id=397
[399] FUNC_PROTO '(anon)' ret_type_id=85 vlen=4
        '(anon)' type_id=147
        '(anon)' type_id=10
        '(anon)' type_id=50
        '(anon)' type_id=10
[400] PTR '(anon)' type_id=399
[401] FUNC_PROTO '(anon)' ret_type_id=85 vlen=5
        '(anon)' type_id=50
        '(anon)' type_id=10
        '(anon)' type_id=83
        '(anon)' type_id=306
        '(anon)' type_id=15
[402] PTR '(anon)' type_id=401
[403] FUNC_PROTO '(anon)' ret_type_id=85 vlen=3
        '(anon)' type_id=100
        '(anon)' type_id=15
        '(anon)' type_id=10
[404] PTR '(anon)' type_id=403
[405] FUNC_PROTO '(anon)' ret_type_id=85 vlen=3
        '(anon)' type_id=350
        '(anon)' type_id=50
        '(anon)' type_id=10
[406] PTR '(anon)' type_id=405
[407] FUNC_PROTO '(anon)' ret_type_id=50 vlen=2
        '(anon)' type_id=50
        '(anon)' type_id=50
[408] PTR '(anon)' type_id=407
[409] FUNC_PROTO '(anon)' ret_type_id=50 vlen=3
        '(anon)' type_id=50
        '(anon)' type_id=83
        '(anon)' type_id=10
[410] PTR '(anon)' type_id=409
[411] FWD 'mptcp_sock' fwd_kind=struct
[412] PTR '(anon)' type_id=411
[413] FUNC_PROTO '(anon)' ret_type_id=412 vlen=1
        '(anon)' type_id=50
[414] PTR '(anon)' type_id=413
[415] FUNC_PROTO '(anon)' ret_type_id=85 vlen=4
        '(anon)' type_id=50
        '(anon)' type_id=10
        '(anon)' type_id=15
        '(anon)' type_id=416
[416] PTR '(anon)' type_id=77
[417] PTR '(anon)' type_id=415
[418] FUNC_PROTO '(anon)' ret_type_id=0 vlen=2
        '(anon)' type_id=416
        '(anon)' type_id=15
[419] PTR '(anon)' type_id=418
[420] FUNC_PROTO '(anon)' ret_type_id=85 vlen=5
        '(anon)' type_id=50
        '(anon)' type_id=10
        '(anon)' type_id=416
        '(anon)' type_id=10
        '(anon)' type_id=15
[421] PTR '(anon)' type_id=420
[422] FUNC_PROTO '(anon)' ret_type_id=85 vlen=5
        '(anon)' type_id=416
        '(anon)' type_id=10
        '(anon)' type_id=50
        '(anon)' type_id=10
        '(anon)' type_id=15
[423] PTR '(anon)' type_id=422
[424] FUNC_PROTO '(anon)' ret_type_id=50 vlen=3
        '(anon)' type_id=416
        '(anon)' type_id=10
        '(anon)' type_id=10
[425] PTR '(anon)' type_id=424
[426] FUNC_PROTO '(anon)' ret_type_id=13 vlen=3
        '(anon)' type_id=428
        '(anon)' type_id=239
        '(anon)' type_id=10
[427] FWD 'iphdr' fwd_kind=struct
[428] PTR '(anon)' type_id=427
[429] PTR '(anon)' type_id=426
[430] FUNC_PROTO '(anon)' ret_type_id=13 vlen=3
        '(anon)' type_id=432
        '(anon)' type_id=239
        '(anon)' type_id=10
[431] FWD 'ipv6hdr' fwd_kind=struct
[432] PTR '(anon)' type_id=431
[433] PTR '(anon)' type_id=430
[434] FUNC_PROTO '(anon)' ret_type_id=85 vlen=2
        '(anon)' type_id=428
        '(anon)' type_id=239
[435] PTR '(anon)' type_id=434
[436] FUNC_PROTO '(anon)' ret_type_id=85 vlen=2
        '(anon)' type_id=432
        '(anon)' type_id=239
[437] PTR '(anon)' type_id=436
[438] FUNC_PROTO '(anon)' ret_type_id=50 vlen=4
        '(anon)' type_id=50
        '(anon)' type_id=440
        '(anon)' type_id=50
        '(anon)' type_id=15
[439] FWD 'cgroup' fwd_kind=struct
[440] PTR '(anon)' type_id=439
[441] PTR '(anon)' type_id=438
[442] FUNC_PROTO '(anon)' ret_type_id=85 vlen=2
        '(anon)' type_id=50
        '(anon)' type_id=440
[443] PTR '(anon)' type_id=442
[444] STRUCT '(anon)' size=32 vlen=4
        'type' type_id=446 bits_offset=0
        'max_entries' type_id=448 bits_offset=64
        'key_size' type_id=450 bits_offset=128
        'value_size' type_id=450 bits_offset=192
[445] ARRAY '(anon)' type_id=7 index_type_id=19 nr_elems=3
[446] PTR '(anon)' type_id=445
[447] ARRAY '(anon)' type_id=7 index_type_id=19 nr_elems=2
[448] PTR '(anon)' type_id=447
[449] ARRAY '(anon)' type_id=7 index_type_id=19 nr_elems=4
[450] PTR '(anon)' type_id=449
[451] ARRAY '(anon)' type_id=21 index_type_id=19 nr_elems=4
[452] FUNC_PROTO '(anon)' ret_type_id=14 vlen=2
        '(anon)' type_id=50
        '(anon)' type_id=14
[453] FUNC_PROTO '(anon)' ret_type_id=14 vlen=2
        '(anon)' type_id=50
        '(anon)' type_id=14
[454] FUNC_PROTO '(anon)' ret_type_id=7 vlen=1
        'skb' type_id=100
[455] ARRAY '(anon)' type_id=23 index_type_id=19 nr_elems=128
[456] VOLATILE '(anon)' type_id=455
[457] FUNC_PROTO '(anon)' ret_type_id=7 vlen=1
        'skb' type_id=100
[458] FUNC_PROTO '(anon)' ret_type_id=7 vlen=1
        'skb' type_id=100
[459] FUNC_PROTO '(anon)' ret_type_id=7 vlen=1
        'skb' type_id=100
[460] ARRAY '(anon)' type_id=23 index_type_id=19 nr_elems=64
[461] VOLATILE '(anon)' type_id=460
[462] FUNC_PROTO '(anon)' ret_type_id=7 vlen=1
        'skb' type_id=100
[463] FUNC_PROTO '(anon)' ret_type_id=0 vlen=3
        'ctx' type_id=50
        'map' type_id=83
        'slot' type_id=11
[464] VAR 'bpf_lwt_seg6_adjust_srh' type_id=206, linkage=static
[465] VAR 'bpf_map_lookup_percpu_elem' type_id=410, linkage=static
[466] VAR 'bpf_cgrp_storage_get' type_id=441, linkage=static
[467] VAR 'bpf_kptr_xchg' type_id=408, linkage=static
[468] VAR 'bpf_tcp_raw_gen_syncookie_ipv4' type_id=429, linkage=static
[469] VAR 'bpf_get_socket_uid' type_id=111, linkage=static
[470] VAR 'bpf_get_current_task_btf' type_id=337, linkage=static
[471] VAR 'bpf_set_hash_invalid' type_id=143, linkage=static
[472] VAR 'bpf_sk_select_reuseport' type_id=217, linkage=static
[473] VAR 'bpf_skc_to_tcp_sock' type_id=291, linkage=static
[474] VAR 'bpf_get_branch_snapshot' type_id=156, linkage=static
[475] VAR 'bpf_skb_cgroup_id' type_id=212, linkage=static
[476] VAR 'bpf_skb_set_tunnel_opt' type_id=133, linkage=static
[477] VAR 'bpf_skb_change_proto' type_id=135, linkage=static
[478] VAR 'bpf_map_delete_elem' type_id=89, linkage=static
[479] VAR 'bpf_ktime_get_tai_ns' type_id=93, linkage=static
[480] VAR 'bpf_d_path' type_id=319, linkage=static
[481] VAR 'bpf_snprintf_btf' type_id=322, linkage=static
[482] VAR 'bpf_get_hash_recalc' type_id=111, linkage=static
[483] VAR 'bpf_ktime_get_ns' type_id=93, linkage=static
[484] VAR 'bpf_skb_output' type_id=124, linkage=static
[485] VAR 'bpf_get_func_arg' type_id=390, linkage=static
[486] VAR 'bpf_per_cpu_ptr' type_id=329, linkage=static
[487] VAR 'bpf_map_update_elem' type_id=87, linkage=static
[488] VAR 'bpf_get_stack' type_id=191, linkage=static
[489] VAR 'bpf_strtoul' type_id=254, linkage=static
[490] VAR 'bpf_skb_pull_data' type_id=137, linkage=static
[491] VAR 'bpf_lwt_seg6_action' type_id=202, linkage=static
[492] VAR 'bpf_timer_set_callback' type_id=368, linkage=static
[493] VAR 'bpf_ima_file_hash' type_id=406, linkage=static
[494] VAR 'bpf_redirect_peer' type_id=122, linkage=static
[495] VAR 'bpf_read_branch_records' type_id=262, linkage=static
[496] VAR 'bpf_sk_redirect_hash' type_id=200, linkage=static
[497] VAR 'bpf_ringbuf_reserve' type_id=279, linkage=static
[498] VAR 'bpf_msg_redirect_hash' type_id=198, linkage=static
[499] VAR 'bpf_get_ns_current_pid_tgid' type_id=265, linkage=static
[500] VAR 'bpf_redirect' type_id=122, linkage=static
[501] VAR 'bpf_strncmp' type_id=388, linkage=static
[502] VAR 'bpf_btf_find_by_name_kind' type_id=363, linkage=static
[503] VAR 'bpf_skb_store_bytes' type_id=101, linkage=static
[504] VAR 'bpf_get_stackid' type_id=128, linkage=static
[505] VAR 'bpf_probe_read_user_str' type_id=91, linkage=static
[506] VAR 'bpf_sysctl_get_new_value' type_id=246, linkage=static
[507] VAR 'bpf_tcp_raw_check_syncookie_ipv6' type_id=437, linkage=static
[508] VAR 'bpf_sk_release' type_id=208, linkage=static
[509] VAR 'bpf_get_current_uid_gid' type_id=93, linkage=static
[510] VAR 'bpf_user_ringbuf_drain' type_id=356, linkage=static
[511] VAR 'bpf_get_func_ip' type_id=150, linkage=static
[512] VAR 'bpf_perf_event_output' type_id=124, linkage=static
[513] VAR 'bpf_check_mtu' type_id=354, linkage=static
[514] VAR 'bpf_this_cpu_ptr' type_id=331, linkage=static
[515] VAR 'bpf_tcp_raw_gen_syncookie_ipv6' type_id=433, linkage=static
[516] VAR 'bpf_dynptr_read' type_id=421, linkage=static
[517] VAR 'bpf_sysctl_get_name' type_id=244, linkage=static
[518] VAR 'bpf_tcp_sock' type_id=236, linkage=static
[519] VAR 'bpf_msg_cork_bytes' type_id=179, linkage=static
[520] VAR 'bpf_ringbuf_submit' type_id=281, linkage=static
[521] VAR 'bpf_copy_from_user' type_id=91, linkage=static
[522] VAR 'bpf_redirect_map' type_id=156, linkage=static
[523] VAR 'bpf_skc_lookup_tcp' type_id=222, linkage=static
[524] VAR 'bpf_get_numa_node_id' type_id=145, linkage=static
[525] VAR 'bpf_skc_to_tcp6_sock' type_id=287, linkage=static
[526] VAR 'bpf_send_signal_thread' type_id=258, linkage=static
[527] VAR 'bpf_sys_close' type_id=258, linkage=static
[528] VAR 'bpf_redirect_neigh' type_id=327, linkage=static
[529] VAR 'bpf_skb_load_bytes_relative' type_id=193, linkage=static
[530] VAR 'bpf_timer_start' type_id=370, linkage=static
[531] VAR 'bpf_get_retval' type_id=394, linkage=static
[532] VAR 'bpf_msg_push_data' type_id=181, linkage=static
[533] VAR 'bpf_probe_read' type_id=91, linkage=static
[534] VAR 'bpf_rc_pointer_rel' type_id=228, linkage=static
[535] VAR 'bpf_skb_vlan_push' type_id=113, linkage=static
[536] VAR 'bpf_get_route_realm' type_id=111, linkage=static
[537] VAR 'bpf_sk_cgroup_id' type_id=150, linkage=static
[538] VAR 'bpf_loop' type_id=386, linkage=static
[539] VAR 'bpf_probe_read_user' type_id=91, linkage=static
[540] VAR 'bpf_skb_change_head' type_id=107, linkage=static
[541] VAR 'bpf_msg_apply_bytes' type_id=179, linkage=static
[542] VAR 'bpf_csum_update' type_id=141, linkage=static
[543] VAR 'bpf_xdp_load_bytes' type_id=400, linkage=static
[544] VAR 'bpf_sock_ops_cb_flags_set' type_id=174, linkage=static
[545] VAR 'bpf_probe_read_str' type_id=91, linkage=static
[546] VAR 'bpf_task_pt_regs' type_id=374, linkage=static
[547] VAR 'bpf_dynptr_data' type_id=425, linkage=static
[548] VAR 'bpf_cgrp_storage_delete' type_id=443, linkage=static
[549] VAR 'bpf_xdp_adjust_meta' type_id=148, linkage=static
[550] VAR 'bpf_get_cgroup_classid' type_id=111, linkage=static
[551] VAR 'bpf_xdp_adjust_tail' type_id=148, linkage=static
[552] VAR 'bpf_perf_event_read' type_id=120, linkage=static
[553] VAR 'bpf_sk_fullsock' type_id=233, linkage=static
[554] VAR 'bpf_skc_to_udp6_sock' type_id=303, linkage=static
[555] VAR 'bpf_l3_csum_replace' type_id=103, linkage=static
[556] VAR 'bpf_skb_vlan_pop' type_id=115, linkage=static
[557] VAR 'bpf_map_peek_elem' type_id=226, linkage=static
[558] VAR 'bpf_dynptr_write' type_id=423, linkage=static
[559] VAR 'bpf_sk_redirect_map' type_id=158, linkage=static
[560] VAR 'bpf_skb_ancestor_cgroup_id' type_id=219, linkage=static
[561] VAR 'bpf_dynptr_from_mem' type_id=417, linkage=static
[562] VAR 'bpf_skc_to_mptcp_sock' type_id=414, linkage=static
[563] VAR 'bpf_sk_storage_get' type_id=256, linkage=static
[564] VAR 'bpf_store_hdr_opt' type_id=311, linkage=static
[565] VAR 'bpf_timer_init' type_id=366, linkage=static
[566] VAR 'bpf_send_signal' type_id=258, linkage=static
[567] VAR 'bpf_ringbuf_output' type_id=277, linkage=static
[568] VAR 'bpf_skb_get_tunnel_key' type_id=118, linkage=static
[569] VAR 'bpf_get_local_storage' type_id=214, linkage=static
[570] VAR 'bpf_msg_redirect_map' type_id=177, linkage=static
[571] VAR 'bpf_skc_to_tcp_timewait_sock' type_id=295, linkage=static
[572] VAR 'bpf_reserve_hdr_opt' type_id=313, linkage=static
[573] VAR '__license' type_id=451, linkage=global
[574] VAR 'bpf_get_current_task' type_id=93, linkage=static
[575] VAR 'bpf_get_task_stack' type_id=307, linkage=static
[576] VAR 'bpf_jiffies64' type_id=93, linkage=static
[577] VAR 'bpf_csum_level' type_id=283, linkage=static
[578] VAR 'bpf_sysctl_get_current_value' type_id=246, linkage=static
[579] VAR 'bpf_lwt_push_encap' type_id=202, linkage=static
[580] VAR 'bpf_skb_set_tstamp' type_id=404, linkage=static
[581] VAR 'bpf_skc_to_unix_sock' type_id=380, linkage=static
[582] VAR 'bpf_bprm_opts_set' type_id=341, linkage=static
[583] VAR 'bpf_get_current_cgroup_id' type_id=93, linkage=static
[584] VAR 'bpf_strtol' type_id=251, linkage=static
[585] VAR 'bpf_seq_printf_btf' type_id=324, linkage=static
[586] VAR 'bpf_copy_from_user_task' type_id=402, linkage=static
[587] VAR 'bpf_kallsyms_lookup_name' type_id=382, linkage=static
[588] VAR 'bpf_set_retval' type_id=396, linkage=static
[589] VAR 'bpf_skb_get_xfrm_state' type_id=189, linkage=static
[590] VAR 'bpf_sk_lookup_udp' type_id=222, linkage=static
[591] VAR 'bpf_trace_printk' type_id=96, linkage=static
[592] VAR 'bpf_perf_prog_read_value' type_id=168, linkage=static
[593] VAR 'bpf_skb_load_bytes' type_id=126, linkage=static
[594] VAR 'bpf_csum_diff' type_id=131, linkage=static
[595] VAR 'bpf_load_hdr_opt' type_id=309, linkage=static
[596] VAR 'bpf_ima_inode_hash' type_id=345, linkage=static
[597] VAR 'bpf_probe_read_kernel_str' type_id=91, linkage=static
[598] VAR 'bpf_ktime_get_boot_ns' type_id=93, linkage=static
[599] VAR 'bpf_skb_cgroup_classid' type_id=212, linkage=static
[600] VAR 'bpf_sk_lookup_tcp' type_id=222, linkage=static
[601] VAR 'bpf_task_storage_get' type_id=333, linkage=static
[602] VAR 'bpf_spin_unlock' type_id=231, linkage=static
[603] VAR 'bpf_sk_storage_delete' type_id=226, linkage=static
[604] VAR 'bpf_clone_redirect' type_id=107, linkage=static
[605] VAR 'bpf_inode_storage_get' type_id=256, linkage=static
[606] VAR 'bpf_sys_bpf' type_id=361, linkage=static
[607] VAR 'bpf_get_func_arg_cnt' type_id=208, linkage=static
[608] VAR 'bpf_sk_assign' type_id=128, linkage=static
[609] VAR 'bpf_tail_call' type_id=105, linkage=static
[610] VAR 'bpf_skc_to_tcp_request_sock' type_id=299, linkage=static
[611] VAR 'bpf_for_each_map_elem' type_id=356, linkage=static
[612] VAR 'bpf_perf_event_read_value' type_id=164, linkage=static
[613] VAR 'bpf_get_netns_cookie' type_id=150, linkage=static
[614] VAR 'bpf_skb_set_tunnel_key' type_id=118, linkage=static
[615] VAR 'bpf_fib_lookup' type_id=196, linkage=static
[616] VAR 'bpf_xdp_store_bytes' type_id=400, linkage=static
[617] VAR 'bpf_ringbuf_reserve_dynptr' type_id=417, linkage=static
[618] VAR 'bpf_skb_get_tunnel_opt' type_id=133, linkage=static
[619] VAR 'bpf_ringbuf_query' type_id=120, linkage=static
[620] VAR 'bpf_bind' type_id=186, linkage=static
[621] VAR 'bpf_get_listener_sock' type_id=233, linkage=static
[622] VAR 'bpf_rc_keydown' type_id=210, linkage=static
[623] VAR 'bpf_get_func_ret' type_id=392, linkage=static
[624] VAR 'bpf_skb_change_type' type_id=137, linkage=static
[625] VAR 'bpf_trace_vprintk' type_id=376, linkage=static
[626] VAR 'bpf_xdp_output' type_id=124, linkage=static
[627] VAR 'bpf_tcp_gen_syncookie' type_id=260, linkage=static
[628] VAR 'bpf_seq_printf' type_id=271, linkage=static
[629] VAR 'bpf_tcp_check_syncookie' type_id=240, linkage=static
[630] VAR 'bpf_ringbuf_discard_dynptr' type_id=419, linkage=static
[631] VAR 'bpf_skb_change_tail' type_id=107, linkage=static
[632] VAR 'bpf_xdp_adjust_head' type_id=148, linkage=static
[633] VAR 'bpf_get_smp_processor_id' type_id=98, linkage=static
[634] VAR 'bpf_tcp_raw_check_syncookie_ipv4' type_id=435, linkage=static
[635] VAR 'bpf_map_lookup_elem' type_id=84, linkage=static
[636] VAR 'jmp_table' type_id=444, linkage=global
[637] VAR 'bpf_getsockopt' type_id=152, linkage=static
[638] VAR 'bpf_msg_pop_data' type_id=181, linkage=static
[639] VAR 'bpf_ringbuf_discard' type_id=281, linkage=static
[640] VAR 'bpf_current_task_under_cgroup' type_id=109, linkage=static
[641] VAR 'bpf_sk_ancestor_cgroup_id' type_id=275, linkage=static
[642] VAR 'bpf_ringbuf_submit_dynptr' type_id=419, linkage=static
[643] VAR 'bpf_override_return' type_id=172, linkage=static
[644] VAR 'bpf_get_prandom_u32' type_id=98, linkage=static
[645] VAR 'bpf_lwt_seg6_store_bytes' type_id=204, linkage=static
[646] VAR 'bpf_probe_write_user' type_id=139, linkage=static
[647] VAR 'bpf_ktime_get_coarse_ns' type_id=93, linkage=static
[648] VAR 'bpf_seq_write' type_id=273, linkage=static
[649] VAR 'bpf_get_attach_cookie' type_id=150, linkage=static
[650] VAR 'bpf_get_socket_cookie' type_id=150, linkage=static
[651] VAR 'bpf_inode_storage_delete' type_id=315, linkage=static
[652] VAR 'bpf_find_vma' type_id=384, linkage=static
[653] VAR 'bpf_rc_repeat' type_id=208, linkage=static
[654] VAR 'bpf_sysctl_set_new_value' type_id=248, linkage=static
[655] VAR 'bpf_sock_from_file' type_id=351, linkage=static
[656] VAR 'bpf_sock_map_update' type_id=161, linkage=static
[657] VAR 'bpf_spin_lock' type_id=231, linkage=static
[658] VAR 'bpf_task_storage_delete' type_id=335, linkage=static
[659] VAR 'bpf_timer_cancel' type_id=372, linkage=static
[660] VAR 'bpf_snprintf' type_id=359, linkage=static
[661] VAR 'bpf_sock_hash_update' type_id=161, linkage=static
[662] VAR 'bpf_tcp_send_ack' type_id=109, linkage=static
[663] VAR 'bpf_setsockopt' type_id=152, linkage=static
[664] VAR 'bpf_map_push_elem' type_id=224, linkage=static
[665] VAR 'bpf_skb_adjust_room' type_id=154, linkage=static
[666] VAR 'bpf_msg_pull_data' type_id=181, linkage=static
[667] VAR 'bpf_set_hash' type_id=137, linkage=static
[668] VAR 'bpf_l4_csum_replace' type_id=103, linkage=static
[669] VAR 'bpf_map_pop_elem' type_id=226, linkage=static
[670] VAR 'bpf_probe_read_kernel' type_id=91, linkage=static
[671] VAR 'bpf_get_current_comm' type_id=109, linkage=static
[672] VAR 'bpf_skb_under_cgroup' type_id=133, linkage=static
[673] VAR 'bpf_get_current_ancestor_cgroup_id' type_id=267, linkage=static
[674] VAR 'bpf_get_current_pid_tgid' type_id=93, linkage=static
[675] VAR 'bpf_skb_ecn_set_ce' type_id=115, linkage=static
[676] VAR 'bpf_xdp_get_buff_len' type_id=398, linkage=static
[677] FUNC '(anon)' type_id=81 linkage=static
[678] FUNC '(anon)' type_id=86 linkage=static
[679] FUNC '(anon)' type_id=88 linkage=static
[680] FUNC '(anon)' type_id=90 linkage=static
[681] FUNC '(anon)' type_id=92 linkage=static
[682] FUNC '(anon)' type_id=94 linkage=static
[683] FUNC '(anon)' type_id=97 linkage=static
[684] FUNC '(anon)' type_id=99 linkage=static
[685] FUNC '(anon)' type_id=102 linkage=static
[686] FUNC '(anon)' type_id=104 linkage=static
[687] FUNC '(anon)' type_id=106 linkage=static
[688] FUNC '(anon)' type_id=108 linkage=static
[689] FUNC '(anon)' type_id=110 linkage=static
[690] FUNC '(anon)' type_id=112 linkage=static
[691] FUNC '(anon)' type_id=114 linkage=static
[692] FUNC '(anon)' type_id=116 linkage=static
[693] FUNC '(anon)' type_id=119 linkage=static
[694] FUNC '(anon)' type_id=121 linkage=static
[695] FUNC '(anon)' type_id=123 linkage=static
[696] FUNC '(anon)' type_id=125 linkage=static
[697] FUNC '(anon)' type_id=127 linkage=static
[698] FUNC '(anon)' type_id=129 linkage=static
[699] FUNC '(anon)' type_id=132 linkage=static
[700] FUNC '(anon)' type_id=134 linkage=static
[701] FUNC '(anon)' type_id=136 linkage=static
[702] FUNC '(anon)' type_id=138 linkage=static
[703] FUNC '(anon)' type_id=140 linkage=static
[704] FUNC '(anon)' type_id=142 linkage=static
[705] FUNC '(anon)' type_id=144 linkage=static
[706] FUNC '(anon)' type_id=146 linkage=static
[707] FUNC '(anon)' type_id=149 linkage=static
[708] FUNC '(anon)' type_id=151 linkage=static
[709] FUNC '(anon)' type_id=153 linkage=static
[710] FUNC '(anon)' type_id=155 linkage=static
[711] FUNC '(anon)' type_id=157 linkage=static
[712] FUNC '(anon)' type_id=159 linkage=static
[713] FUNC '(anon)' type_id=162 linkage=static
[714] FUNC '(anon)' type_id=165 linkage=static
[715] FUNC '(anon)' type_id=169 linkage=static
[716] FUNC '(anon)' type_id=173 linkage=static
[717] FUNC '(anon)' type_id=175 linkage=static
[718] FUNC '(anon)' type_id=178 linkage=static
[719] FUNC '(anon)' type_id=180 linkage=static
[720] FUNC '(anon)' type_id=182 linkage=static
[721] FUNC '(anon)' type_id=187 linkage=static
[722] FUNC '(anon)' type_id=190 linkage=static
[723] FUNC '(anon)' type_id=192 linkage=static
[724] FUNC '(anon)' type_id=194 linkage=static
[725] FUNC '(anon)' type_id=197 linkage=static
[726] FUNC '(anon)' type_id=199 linkage=static
[727] FUNC '(anon)' type_id=201 linkage=static
[728] FUNC '(anon)' type_id=203 linkage=static
[729] FUNC '(anon)' type_id=205 linkage=static
[730] FUNC '(anon)' type_id=207 linkage=static
[731] FUNC '(anon)' type_id=209 linkage=static
[732] FUNC '(anon)' type_id=211 linkage=static
[733] FUNC '(anon)' type_id=213 linkage=static
[734] FUNC '(anon)' type_id=215 linkage=static
[735] FUNC '(anon)' type_id=218 linkage=static
[736] FUNC '(anon)' type_id=220 linkage=static
[737] FUNC '(anon)' type_id=223 linkage=static
[738] FUNC '(anon)' type_id=225 linkage=static
[739] FUNC '(anon)' type_id=227 linkage=static
[740] FUNC '(anon)' type_id=229 linkage=static
[741] FUNC '(anon)' type_id=232 linkage=static
[742] FUNC '(anon)' type_id=235 linkage=static
[743] FUNC '(anon)' type_id=237 linkage=static
[744] FUNC '(anon)' type_id=241 linkage=static
[745] FUNC '(anon)' type_id=245 linkage=static
[746] FUNC '(anon)' type_id=247 linkage=static
[747] FUNC '(anon)' type_id=249 linkage=static
[748] FUNC '(anon)' type_id=252 linkage=static
[749] FUNC '(anon)' type_id=255 linkage=static
[750] FUNC '(anon)' type_id=257 linkage=static
[751] FUNC '(anon)' type_id=259 linkage=static
[752] FUNC '(anon)' type_id=261 linkage=static
[753] FUNC '(anon)' type_id=263 linkage=static
[754] FUNC '(anon)' type_id=266 linkage=static
[755] FUNC '(anon)' type_id=268 linkage=static
[756] FUNC '(anon)' type_id=272 linkage=static
[757] FUNC '(anon)' type_id=274 linkage=static
[758] FUNC '(anon)' type_id=276 linkage=static
[759] FUNC '(anon)' type_id=278 linkage=static
[760] FUNC '(anon)' type_id=280 linkage=static
[761] FUNC '(anon)' type_id=282 linkage=static
[762] FUNC '(anon)' type_id=286 linkage=static
[763] FUNC '(anon)' type_id=290 linkage=static
[764] FUNC '(anon)' type_id=294 linkage=static
[765] FUNC '(anon)' type_id=298 linkage=static
[766] FUNC '(anon)' type_id=302 linkage=static
[767] FUNC '(anon)' type_id=304 linkage=static
[768] FUNC '(anon)' type_id=308 linkage=static
[769] FUNC '(anon)' type_id=310 linkage=static
[770] FUNC '(anon)' type_id=312 linkage=static
[771] FUNC '(anon)' type_id=314 linkage=static
[772] FUNC '(anon)' type_id=316 linkage=static
[773] FUNC '(anon)' type_id=320 linkage=static
[774] FUNC '(anon)' type_id=323 linkage=static
[775] FUNC '(anon)' type_id=325 linkage=static
[776] FUNC '(anon)' type_id=328 linkage=static
[777] FUNC '(anon)' type_id=330 linkage=static
[778] FUNC '(anon)' type_id=332 linkage=static
[779] FUNC '(anon)' type_id=334 linkage=static
[780] FUNC '(anon)' type_id=336 linkage=static
[781] FUNC '(anon)' type_id=338 linkage=static
[782] FUNC '(anon)' type_id=342 linkage=static
[783] FUNC '(anon)' type_id=348 linkage=static
[784] FUNC '(anon)' type_id=352 linkage=static
[785] FUNC '(anon)' type_id=355 linkage=static
[786] FUNC '(anon)' type_id=357 linkage=static
[787] FUNC '(anon)' type_id=360 linkage=static
[788] FUNC '(anon)' type_id=362 linkage=static
[789] FUNC '(anon)' type_id=364 linkage=static
[790] FUNC '(anon)' type_id=367 linkage=static
[791] FUNC '(anon)' type_id=369 linkage=static
[792] FUNC '(anon)' type_id=371 linkage=static
[793] FUNC '(anon)' type_id=373 linkage=static
[794] FUNC '(anon)' type_id=375 linkage=static
[795] FUNC '(anon)' type_id=379 linkage=static
[796] FUNC '(anon)' type_id=381 linkage=static
[797] FUNC '(anon)' type_id=383 linkage=static
[798] FUNC '(anon)' type_id=385 linkage=static
[799] FUNC '(anon)' type_id=387 linkage=static
[800] FUNC '(anon)' type_id=389 linkage=static
[801] FUNC '(anon)' type_id=391 linkage=static
[802] FUNC '(anon)' type_id=393 linkage=static
[803] FUNC '(anon)' type_id=395 linkage=static
[804] FUNC '(anon)' type_id=397 linkage=static
[805] FUNC '(anon)' type_id=399 linkage=static
[806] FUNC '(anon)' type_id=401 linkage=static
[807] FUNC '(anon)' type_id=403 linkage=static
[808] FUNC '(anon)' type_id=405 linkage=static
[809] FUNC '(anon)' type_id=407 linkage=static
[810] FUNC '(anon)' type_id=409 linkage=static
[811] FUNC '(anon)' type_id=413 linkage=static
[812] FUNC '(anon)' type_id=415 linkage=static
[813] FUNC '(anon)' type_id=418 linkage=static
[814] FUNC '(anon)' type_id=420 linkage=static
[815] FUNC '(anon)' type_id=422 linkage=static
[816] FUNC '(anon)' type_id=424 linkage=static
[817] FUNC '(anon)' type_id=426 linkage=static
[818] FUNC '(anon)' type_id=430 linkage=static
[819] FUNC '(anon)' type_id=434 linkage=static
[820] FUNC '(anon)' type_id=436 linkage=static
[821] FUNC '(anon)' type_id=438 linkage=static
[822] FUNC '(anon)' type_id=442 linkage=static
[823] FUNC 'load_half' type_id=452 linkage=global
[824] FUNC 'load_word' type_id=453 linkage=global
[825] FUNC 'entry' type_id=454 linkage=global
[826] FUNC 'classifier_1' type_id=457 linkage=global
[827] FUNC 'classifier_0' type_id=458 linkage=global
[828] FUNC 'subprog_tail' type_id=459 linkage=static
[829] FUNC 'subprog_tail2' type_id=462 linkage=global
[830] FUNC 'bpf_tail_call_static' type_id=463 linkage=static
[831] DATASEC 'license' size=0 vlen=1
        type_id=573 offset=0 size=4 (VAR '__license')
[832] DATASEC '.maps' size=0 vlen=1
        type_id=636 offset=0 size=32 (VAR 'jmp_table')

Working LLVM BTF Dump:
$ /home/buildroot/bpf-next/tools/testing/selftests/bpf/tools/sbin/bpftool
--debug btf dump file
/home/buildroot/bpf-next/tools/testing/selftests/bpf/tailcall_bpf2bpf3.bpf.o
format raw
[1] PTR '(anon)' type_id=3
[2] INT 'int' size=4 bits_offset=0 nr_bits=32 encoding=SIGNED
[3] ARRAY '(anon)' type_id=2 index_type_id=4 nr_elems=3
[4] INT '__ARRAY_SIZE_TYPE__' size=4 bits_offset=0 nr_bits=32 encoding=(none)
[5] PTR '(anon)' type_id=6
[6] ARRAY '(anon)' type_id=2 index_type_id=4 nr_elems=2
[7] PTR '(anon)' type_id=8
[8] ARRAY '(anon)' type_id=2 index_type_id=4 nr_elems=4
[9] STRUCT '(anon)' size=32 vlen=4
        'type' type_id=1 bits_offset=0
        'max_entries' type_id=5 bits_offset=64
        'key_size' type_id=7 bits_offset=128
        'value_size' type_id=7 bits_offset=192
[10] VAR 'jmp_table' type_id=9, linkage=global
[11] PTR '(anon)' type_id=12
[12] STRUCT '__sk_buff' size=192 vlen=34
        'len' type_id=13 bits_offset=0
        'pkt_type' type_id=13 bits_offset=32
        'mark' type_id=13 bits_offset=64
        'queue_mapping' type_id=13 bits_offset=96
        'protocol' type_id=13 bits_offset=128
        'vlan_present' type_id=13 bits_offset=160
        'vlan_tci' type_id=13 bits_offset=192
        'vlan_proto' type_id=13 bits_offset=224
        'priority' type_id=13 bits_offset=256
        'ingress_ifindex' type_id=13 bits_offset=288
        'ifindex' type_id=13 bits_offset=320
        'tc_index' type_id=13 bits_offset=352
        'cb' type_id=15 bits_offset=384
        'hash' type_id=13 bits_offset=544
        'tc_classid' type_id=13 bits_offset=576
        'data' type_id=13 bits_offset=608
        'data_end' type_id=13 bits_offset=640
        'napi_id' type_id=13 bits_offset=672
        'family' type_id=13 bits_offset=704
        'remote_ip4' type_id=13 bits_offset=736
        'local_ip4' type_id=13 bits_offset=768
        'remote_ip6' type_id=16 bits_offset=800
        'local_ip6' type_id=16 bits_offset=928
        'remote_port' type_id=13 bits_offset=1056
        'local_port' type_id=13 bits_offset=1088
        'data_meta' type_id=13 bits_offset=1120
        '(anon)' type_id=17 bits_offset=1152
        'tstamp' type_id=19 bits_offset=1216
        'wire_len' type_id=13 bits_offset=1280
        'gso_segs' type_id=13 bits_offset=1312
        '(anon)' type_id=21 bits_offset=1344
        'gso_size' type_id=13 bits_offset=1408
        'tstamp_type' type_id=23 bits_offset=1440
        'hwtstamp' type_id=19 bits_offset=1472
[13] TYPEDEF '__u32' type_id=14
[14] INT 'unsigned int' size=4 bits_offset=0 nr_bits=32 encoding=(none)
[15] ARRAY '(anon)' type_id=13 index_type_id=4 nr_elems=5
[16] ARRAY '(anon)' type_id=13 index_type_id=4 nr_elems=4
[17] UNION '(anon)' size=8 vlen=1
        'flow_keys' type_id=18 bits_offset=0
[18] PTR '(anon)' type_id=40
[19] TYPEDEF '__u64' type_id=20
[20] INT 'unsigned long long' size=8 bits_offset=0 nr_bits=64 encoding=(none)
[21] UNION '(anon)' size=8 vlen=1
        'sk' type_id=22 bits_offset=0
[22] PTR '(anon)' type_id=41
[23] TYPEDEF '__u8' type_id=24
[24] INT 'unsigned char' size=1 bits_offset=0 nr_bits=8 encoding=(none)
[25] FUNC_PROTO '(anon)' ret_type_id=2 vlen=1
        'skb' type_id=11
[26] FUNC 'subprog_tail2' type_id=25 linkage=global
[27] FUNC_PROTO '(anon)' ret_type_id=2 vlen=1
        'skb' type_id=11
[28] FUNC 'classifier_0' type_id=27 linkage=global
[29] FUNC_PROTO '(anon)' ret_type_id=2 vlen=1
        'skb' type_id=11
[30] FUNC 'classifier_1' type_id=29 linkage=global
[31] FUNC_PROTO '(anon)' ret_type_id=2 vlen=1
        'skb' type_id=11
[32] FUNC 'entry' type_id=31 linkage=global
[33] FUNC_PROTO '(anon)' ret_type_id=2 vlen=1
        'skb' type_id=11
[34] FUNC 'subprog_tail' type_id=33 linkage=static
[35] INT 'char' size=1 bits_offset=0 nr_bits=8 encoding=SIGNED
[36] ARRAY '(anon)' type_id=35 index_type_id=4 nr_elems=4
[37] VAR '__license' type_id=36, linkage=global
[38] DATASEC '.maps' size=0 vlen=1
        type_id=10 offset=0 size=32 (VAR 'jmp_table')
[39] DATASEC 'license' size=0 vlen=1
        type_id=37 offset=0 size=4 (VAR '__license')
[40] FWD 'bpf_flow_keys' fwd_kind=struct
[41] FWD 'bpf_sock' fwd_kind=struct

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/106773] libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops'
  2022-08-29 22:07 [Bug c/106773] New: libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops' james.hilliard1 at gmail dot com
                   ` (4 preceding siblings ...)
  2022-12-01  0:04 ` james.hilliard1 at gmail dot com
@ 2022-12-01  0:12 ` james.hilliard1 at gmail dot com
  2022-12-01  2:07 ` james.hilliard1 at gmail dot com
                   ` (13 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: james.hilliard1 at gmail dot com @ 2022-12-01  0:12 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106773

--- Comment #6 from James Hilliard <james.hilliard1 at gmail dot com> ---
https://github.com/torvalds/linux/blob/v6.1-rc7/tools/testing/selftests/bpf/bpf_legacy.h

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/106773] libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops'
  2022-08-29 22:07 [Bug c/106773] New: libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops' james.hilliard1 at gmail dot com
                   ` (5 preceding siblings ...)
  2022-12-01  0:12 ` james.hilliard1 at gmail dot com
@ 2022-12-01  2:07 ` james.hilliard1 at gmail dot com
  2022-12-01 17:09 ` david.faust at oracle dot com
                   ` (12 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: james.hilliard1 at gmail dot com @ 2022-12-01  2:07 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106773

--- Comment #7 from James Hilliard <james.hilliard1 at gmail dot com> ---
There's also this error during skeleton generation for kfunc_call_test.c:
$ /home/buildroot/bpf-next/tools/testing/selftests/bpf/tools/sbin/bpftool
--debug gen skeleton
/home/buildroot/bpf-next/tools/testing/selftests/bpf/bpf_gcc/kfunc_call_test.bpf.linked3.o
name kfunc_call_test
libbpf: loading object 'kfunc_call_test' from buffer
libbpf: elf: section(2) .symtab, size 648, link 1, flags 0, type=2
libbpf: elf: section(3) .data, size 0, link 0, flags 3, type=1
libbpf: elf: skipping section(3) .data (size 0)
libbpf: elf: section(4) .bss, size 0, link 0, flags 3, type=8
libbpf: elf: section(5) tc, size 1120, link 0, flags 6, type=1
libbpf: sec 'tc': found program 'kfunc_call_test2' at insn offset 0 (0 bytes),
code size 13 insns (104 bytes)
libbpf: sec 'tc': found program 'kfunc_call_test1' at insn offset 13 (104
bytes), code size 21 insns (168 bytes)
libbpf: sec 'tc': found program 'kfunc_call_test_ref_btf_id' at insn offset 34
(272 bytes), code size 22 insns (176 bytes)
libbpf: sec 'tc': found program 'kfunc_call_test_pass' at insn offset 56 (448
bytes), code size 52 insns (416 bytes)
libbpf: sec 'tc': found program 'kfunc_call_test_get_mem' at insn offset 108
(864 bytes), code size 32 insns (256 bytes)
libbpf: elf: section(6) syscall, size 152, link 0, flags 6, type=1
libbpf: sec 'syscall': found program 'kfunc_syscall_test' at insn offset 0 (0
bytes), code size 15 insns (120 bytes)
libbpf: sec 'syscall': found program 'kfunc_syscall_test_null' at insn offset
15 (120 bytes), code size 4 insns (32 bytes)
libbpf: elf: section(7) license, size 4, link 0, flags 3, type=1
libbpf: license of kfunc_call_test is GPL
libbpf: elf: section(8) .comment, size 43, link 0, flags 30, type=1
libbpf: elf: skipping unrecognized data section(8) .comment
libbpf: elf: section(9) .reltc, size 272, link 2, flags 40, type=9
libbpf: elf: section(10) .relsyscall, size 64, link 2, flags 40, type=9
libbpf: elf: section(11) .BTF, size 467261, link 0, flags 0, type=1
libbpf: looking for externs among 27 symbols...
libbpf: failed to find BTF for extern 'bpf_kfunc_call_test2': -22
Error: failed to open BPF object file: Invalid argument

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/106773] libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops'
  2022-08-29 22:07 [Bug c/106773] New: libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops' james.hilliard1 at gmail dot com
                   ` (6 preceding siblings ...)
  2022-12-01  2:07 ` james.hilliard1 at gmail dot com
@ 2022-12-01 17:09 ` david.faust at oracle dot com
  2022-12-01 21:49 ` david.faust at oracle dot com
                   ` (11 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: david.faust at oracle dot com @ 2022-12-01 17:09 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106773

--- Comment #8 from David Faust <david.faust at oracle dot com> ---
(In reply to James Hilliard from comment #5)
> (In reply to David Faust from comment #4)
> > Created attachment 53993 [details]
> > proposed patch
> > 
> > Should fix the remaining issues with 'extern' linkage and the missing
> > 'const' modifier (and includes the earlier partial fixes in this bug)
> 
> Fixes the reported test failure but some others(unclear if related to this
> bug) are still failing such as tailcall_bpf2bpf3.c:

Thanks for testing and confirming.

> $ /home/buildroot/bpf-next/tools/testing/selftests/bpf/tools/sbin/bpftool
> --debug gen object
> /home/buildroot/bpf-next/tools/testing/selftests/bpf/bpf_gcc/
> tailcall_bpf2bpf3.bpf.linked1.o
> /home/buildroot/bpf-next/tools/testing/selftests/bpf/bpf_gcc/
> tailcall_bpf2bpf3.bpf.o
> libbpf: linker: adding object file
> '/home/buildroot/bpf-next/tools/testing/selftests/bpf/bpf_gcc/
> tailcall_bpf2bpf3.bpf.o'...
> libbpf: failed to find BTF info for global/extern symbol 'llvm.bpf.load.word'
> Error: failed to link

> https://github.com/torvalds/linux/blob/v6.1-rc7/tools/testing/selftests/bpf/bpf_legacy.h
unsigned long long load_word(void *skb,
                             unsigned long long off) asm("llvm.bpf.load.word");

Looks like LLVM-specific inline asm to use their llvm.bpf.load.word intrinsic.

GCC has equivalent __builtin_load_{byte,half,word} target builtins.

> There's also this error during skeleton generation for kfunc_call_test.c:
> ...
> libbpf: failed to find BTF for extern 'bpf_kfunc_call_test2': -22

Hm, looks like we are OK for extern variables but are mis-generating something
(or missing something) for extern funcs still. Will look into this.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/106773] libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops'
  2022-08-29 22:07 [Bug c/106773] New: libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops' james.hilliard1 at gmail dot com
                   ` (7 preceding siblings ...)
  2022-12-01 17:09 ` david.faust at oracle dot com
@ 2022-12-01 21:49 ` david.faust at oracle dot com
  2022-12-01 22:09 ` james.hilliard1 at gmail dot com
                   ` (10 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: david.faust at oracle dot com @ 2022-12-01 21:49 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106773

David Faust <david.faust at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #53993|0                           |1
        is obsolete|                            |

--- Comment #9 from David Faust <david.faust at oracle dot com> ---
Created attachment 54002
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54002&action=edit
updated patch

Update the 'extern' variable marking, and also mark 'extern' funcs.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/106773] libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops'
  2022-08-29 22:07 [Bug c/106773] New: libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops' james.hilliard1 at gmail dot com
                   ` (8 preceding siblings ...)
  2022-12-01 21:49 ` david.faust at oracle dot com
@ 2022-12-01 22:09 ` james.hilliard1 at gmail dot com
  2022-12-01 22:11 ` james.hilliard1 at gmail dot com
                   ` (9 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: james.hilliard1 at gmail dot com @ 2022-12-01 22:09 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106773

--- Comment #10 from James Hilliard <james.hilliard1 at gmail dot com> ---
(In reply to David Faust from comment #9)
> Created attachment 54002 [details]
> updated patch
> 
> Update the 'extern' variable marking, and also mark 'extern' funcs.

That fixes the issue in kfunc_call_test.c but I'm still hitting a few like this
in cb_refs.c:
$ /home/buildroot/bpf-next/tools/testing/selftests/bpf/tools/sbin/bpftool
--debug gen skeleton
/home/buildroot/bpf-next/tools/testing/selftests/bpf/bpf_gcc/cb_refs.bpf.linked3.o
name cb_refs
libbpf: loading object 'cb_refs' from buffer
libbpf: elf: section(2) .symtab, size 504, link 1, flags 0, type=2
libbpf: elf: section(3) .text, size 240, link 0, flags 6, type=1
libbpf: sec '.text': found program 'cb1' at insn offset 0 (0 bytes), code size
4 insns (32 bytes)
libbpf: sec '.text': found program 'cb2' at insn offset 4 (32 bytes), code size
9 insns (72 bytes)
libbpf: sec '.text': found program 'cb' at insn offset 13 (104 bytes), code
size 2 insns (16 bytes)
libbpf: sec '.text': found program 'cb3' at insn offset 15 (120 bytes), code
size 15 insns (120 bytes)
libbpf: elf: section(4) .data, size 0, link 0, flags 3, type=1
libbpf: elf: skipping section(4) .data (size 0)
libbpf: elf: section(5) .bss, size 0, link 0, flags 3, type=8
libbpf: elf: section(6) ?tc, size 648, link 0, flags 6, type=1
libbpf: sec '?tc': found program 'underflow_prog' at insn offset 0 (0 bytes),
code size 17 insns (136 bytes)
libbpf: sec '?tc': found program 'leak_prog' at insn offset 17 (136 bytes),
code size 26 insns (208 bytes)
libbpf: sec '?tc': found program 'nested_cb' at insn offset 43 (344 bytes),
code size 20 insns (160 bytes)
libbpf: sec '?tc': found program 'non_cb_transfer_ref' at insn offset 63 (504
bytes), code size 18 insns (144 bytes)
libbpf: elf: section(7) license, size 4, link 0, flags 3, type=1
libbpf: license of cb_refs is GPL
libbpf: elf: section(8) .maps, size 32, link 0, flags 3, type=1
libbpf: elf: section(9) .comment, size 43, link 0, flags 30, type=1
libbpf: elf: skipping unrecognized data section(9) .comment
libbpf: elf: section(10) .rel.text, size 80, link 2, flags 40, type=9
libbpf: elf: section(11) .rel?tc, size 224, link 2, flags 40, type=9
libbpf: elf: section(12) .BTF, size 468228, link 0, flags 0, type=1
libbpf: looking for externs among 21 symbols...
libbpf: failed to find BTF for extern 'bpf_kfunc_call_test_release' [8112]
section: -2
Error: failed to open BPF object file: No such file or directory

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/106773] libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops'
  2022-08-29 22:07 [Bug c/106773] New: libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops' james.hilliard1 at gmail dot com
                   ` (9 preceding siblings ...)
  2022-12-01 22:09 ` james.hilliard1 at gmail dot com
@ 2022-12-01 22:11 ` james.hilliard1 at gmail dot com
  2022-12-01 22:30 ` james.hilliard1 at gmail dot com
                   ` (8 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: james.hilliard1 at gmail dot com @ 2022-12-01 22:11 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106773

--- Comment #11 from James Hilliard <james.hilliard1 at gmail dot com> ---
Also hitting this one in cgroup_hierarchical_stats.c:
$ /home/buildroot/bpf-next/tools/testing/selftests/bpf/tools/sbin/bpftool
--debug gen skeleton
/home/buildroot/bpf-next/tools/testing/selftests/bpf/bpf_gcc/cgroup_hierarchical_stats.bpf.linked3.o
name cgroup_hierarchical_stat
libbpf: loading object 'cgroup_hierarchical_stat' from buffer
libbpf: elf: section(2) .symtab, size 504, link 1, flags 0, type=2
libbpf: elf: section(3) .data, size 0, link 0, flags 3, type=1
libbpf: elf: skipping section(3) .data (size 0)
libbpf: elf: section(4) .bss, size 0, link 0, flags 3, type=8
libbpf: elf: section(5) fentry/cgroup_attach_task, size 264, link 0, flags 6,
type=1
libbpf: sec 'fentry/cgroup_attach_task': found program 'counter' at insn offset
0 (0 bytes), code size 33 insns (264 bytes)
libbpf: elf: section(6) fentry/bpf_rstat_flush, size 656, link 0, flags 6,
type=1
libbpf: sec 'fentry/bpf_rstat_flush': found program 'flusher' at insn offset 0
(0 bytes), code size 82 insns (656 bytes)
libbpf: elf: section(7) iter.s/cgroup, size 352, link 0, flags 6, type=1
libbpf: sec 'iter.s/cgroup': found program 'dumper' at insn offset 0 (0 bytes),
code size 44 insns (352 bytes)
libbpf: elf: section(8) .rodata, size 67, link 0, flags 2, type=1
libbpf: elf: section(9) .maps, size 64, link 0, flags 3, type=1
libbpf: elf: section(10) license, size 4, link 0, flags 3, type=1
libbpf: license of cgroup_hierarchical_stat is GPL
libbpf: elf: section(11) .comment, size 43, link 0, flags 30, type=1
libbpf: elf: skipping unrecognized data section(11) .comment
libbpf: elf: section(12) .relfentry/cgroup_attach_task, size 48, link 2, flags
40, type=9
libbpf: elf: section(13) .relfentry/bpf_rstat_flush, size 96, link 2, flags 40,
type=9
libbpf: elf: section(14) .reliter.s/cgroup, size 64, link 2, flags 40, type=9
libbpf: elf: section(15) .BTF, size 468873, link 0, flags 0, type=1
libbpf: looking for externs among 21 symbols...
libbpf: failed to find BTF for extern 'cgroup_rstat_updated' [8134] section: -2
Error: failed to open BPF object file: No such file or directory

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/106773] libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops'
  2022-08-29 22:07 [Bug c/106773] New: libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops' james.hilliard1 at gmail dot com
                   ` (10 preceding siblings ...)
  2022-12-01 22:11 ` james.hilliard1 at gmail dot com
@ 2022-12-01 22:30 ` james.hilliard1 at gmail dot com
  2022-12-05 17:42 ` david.faust at oracle dot com
                   ` (7 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: james.hilliard1 at gmail dot com @ 2022-12-01 22:30 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106773

--- Comment #12 from James Hilliard <james.hilliard1 at gmail dot com> ---
(In reply to James Hilliard from comment #10)
> (In reply to David Faust from comment #9)
> > Created attachment 54002 [details]
> > updated patch
> > 
> > Update the 'extern' variable marking, and also mark 'extern' funcs.
> 
> That fixes the issue in kfunc_call_test.c

Actually I think there's still an issue here, did a full
clean test build and am now hitting this error:
$ /home/buildroot/bpf-next/tools/testing/selftests/bpf/tools/sbin/bpftool
--debug gen skeleton
/home/buildroot/bpf-next/tools/testing/selftests/bpf/bpf_gcc/kfunc_call_test.bpf.linked3.o
name kfunc_call_test
libbpf: loading object 'kfunc_call_test' from buffer
libbpf: elf: section(2) .symtab, size 648, link 1, flags 0, type=2
libbpf: elf: section(3) .data, size 0, link 0, flags 3, type=1
libbpf: elf: skipping section(3) .data (size 0)
libbpf: elf: section(4) .bss, size 0, link 0, flags 3, type=8
libbpf: elf: section(5) tc, size 1120, link 0, flags 6, type=1
libbpf: sec 'tc': found program 'kfunc_call_test2' at insn offset 0 (0 bytes),
code size 13 insns (104 bytes)
libbpf: sec 'tc': found program 'kfunc_call_test1' at insn offset 13 (104
bytes), code size 21 insns (168 bytes)
libbpf: sec 'tc': found program 'kfunc_call_test_ref_btf_id' at insn offset 34
(272 bytes), code size 22 insns (176 bytes)
libbpf: sec 'tc': found program 'kfunc_call_test_pass' at insn offset 56 (448
bytes), code size 52 insns (416 bytes)
libbpf: sec 'tc': found program 'kfunc_call_test_get_mem' at insn offset 108
(864 bytes), code size 32 insns (256 bytes)
libbpf: elf: section(6) syscall, size 152, link 0, flags 6, type=1
libbpf: sec 'syscall': found program 'kfunc_syscall_test' at insn offset 0 (0
bytes), code size 15 insns (120 bytes)
libbpf: sec 'syscall': found program 'kfunc_syscall_test_null' at insn offset
15 (120 bytes), code size 4 insns (32 bytes)
libbpf: elf: section(7) license, size 4, link 0, flags 3, type=1
libbpf: license of kfunc_call_test is GPL
libbpf: elf: section(8) .comment, size 43, link 0, flags 30, type=1
libbpf: elf: skipping unrecognized data section(8) .comment
libbpf: elf: section(9) .reltc, size 272, link 2, flags 40, type=9
libbpf: elf: section(10) .relsyscall, size 64, link 2, flags 40, type=9
libbpf: elf: section(11) .BTF, size 469068, link 0, flags 0, type=1
libbpf: looking for externs among 27 symbols...
libbpf: failed to find BTF for extern 'bpf_kfunc_call_test2' [8134] section: -2
Error: failed to open BPF object file: No such file or directory

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/106773] libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops'
  2022-08-29 22:07 [Bug c/106773] New: libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops' james.hilliard1 at gmail dot com
                   ` (11 preceding siblings ...)
  2022-12-01 22:30 ` james.hilliard1 at gmail dot com
@ 2022-12-05 17:42 ` david.faust at oracle dot com
  2022-12-05 19:01 ` james.hilliard1 at gmail dot com
                   ` (6 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: david.faust at oracle dot com @ 2022-12-05 17:42 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106773

--- Comment #13 from David Faust <david.faust at oracle dot com> ---
Created attachment 54017
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54017&action=edit
DATASEC entries for extern funcs

Applies on top of 54002: updated patch
Adds emission of DATASEC entries for extern funcs. Rough, needs cleanup.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/106773] libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops'
  2022-08-29 22:07 [Bug c/106773] New: libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops' james.hilliard1 at gmail dot com
                   ` (12 preceding siblings ...)
  2022-12-05 17:42 ` david.faust at oracle dot com
@ 2022-12-05 19:01 ` james.hilliard1 at gmail dot com
  2022-12-05 21:06 ` david.faust at oracle dot com
                   ` (5 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: james.hilliard1 at gmail dot com @ 2022-12-05 19:01 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106773

--- Comment #14 from James Hilliard <james.hilliard1 at gmail dot com> ---
(In reply to David Faust from comment #13)
> Created attachment 54017 [details]
> DATASEC entries for extern funcs
> 
> Applies on top of 54002: updated patch
> Adds emission of DATASEC entries for extern funcs. Rough, needs cleanup.

Seeing a regression in get_func_ip_test.c looks like:
$ /home/buildroot/bpf-next/tools/testing/selftests/bpf/tools/sbin/bpftool
--debug gen object
/home/buildroot/bpf-next/tools/testing/selftests/bpf/bpf_gcc/get_func_ip_test.bpf.linked1.o
/home/buildroot/bpf-next/tools/testing/selftests/bpf/bpf_gcc/get_func_ip_test.bpf.o
libbpf: linker: adding object file
'/home/buildroot/bpf-next/tools/testing/selftests/bpf/bpf_gcc/get_func_ip_test.bpf.o'...
libbpf: Invalid BTF total size: 25303
libbpf: failed to parse .BTF from
/home/buildroot/bpf-next/tools/testing/selftests/bpf/bpf_gcc/get_func_ip_test.bpf.o:
-22
Error: failed to link
'/home/buildroot/bpf-next/tools/testing/selftests/bpf/bpf_gcc/get_func_ip_test.bpf.o':
Invalid argument (22)

Broken GCC BTF dump:
$ /home/buildroot/bpf-next/tools/testing/selftests/bpf/tools/sbin/bpftool
--debug btf dump file
/home/buildroot/bpf-next/tools/testing/selftests/bpf/bpf_gcc/get_func_ip_test.bpf.o
format raw
libbpf: Invalid BTF total size: 25303
Error: failed to load BTF from
/home/buildroot/bpf-next/tools/testing/selftests/bpf/bpf_gcc/get_func_ip_test.bpf.o:
Invalid argument

Working LLVM btf dump:
$ /home/buildroot/bpf-next/tools/testing/selftests/bpf/tools/sbin/bpftool
--debug btf dump file
/home/buildroot/bpf-next/tools/testing/selftests/bpf/get_func_ip_test.bpf.o
format raw
[1] FUNC_PROTO '(anon)' ret_type_id=2 vlen=0
[2] INT 'int' size=4 bits_offset=0 nr_bits=32 encoding=SIGNED
[3] FUNC 'unused' type_id=1 linkage=global
[4] PTR '(anon)' type_id=5
[5] INT 'unsigned long long' size=8 bits_offset=0 nr_bits=64 encoding=(none)
[6] FUNC_PROTO '(anon)' ret_type_id=2 vlen=1
        'ctx' type_id=4
[7] FUNC 'test1' type_id=6 linkage=global
[8] FUNC_PROTO '(anon)' ret_type_id=2 vlen=1
        'ctx' type_id=4
[9] FUNC 'test2' type_id=8 linkage=global
[10] PTR '(anon)' type_id=11
[11] FWD 'pt_regs' fwd_kind=struct
[12] FUNC_PROTO '(anon)' ret_type_id=2 vlen=1
        'ctx' type_id=10
[13] FUNC 'test3' type_id=12 linkage=global
[14] FUNC_PROTO '(anon)' ret_type_id=2 vlen=1
        'ctx' type_id=10
[15] FUNC 'test4' type_id=14 linkage=global
[16] FUNC_PROTO '(anon)' ret_type_id=2 vlen=1
        'ctx' type_id=4
[17] FUNC 'test5' type_id=16 linkage=global
[18] FUNC_PROTO '(anon)' ret_type_id=2 vlen=1
        'ctx' type_id=10
[19] FUNC 'test6' type_id=18 linkage=global
[20] INT 'char' size=1 bits_offset=0 nr_bits=8 encoding=SIGNED
[21] ARRAY '(anon)' type_id=20 index_type_id=22 nr_elems=4
[22] INT '__ARRAY_SIZE_TYPE__' size=4 bits_offset=0 nr_bits=32 encoding=(none)
[23] VAR '_license' type_id=21, linkage=global
[24] INT '_Bool' size=1 bits_offset=0 nr_bits=8 encoding=BOOL
[25] VAR 'CONFIG_X86_KERNEL_IBT' type_id=24, linkage=extern
[26] TYPEDEF '__u64' type_id=5
[27] VAR 'test1_result' type_id=26, linkage=global
[28] VAR 'test2_result' type_id=26, linkage=global
[29] VAR 'test3_result' type_id=26, linkage=global
[30] CONST '(anon)' type_id=0
[31] VAR 'bpf_fentry_test3' type_id=30, linkage=extern
[32] VAR 'test4_result' type_id=26, linkage=global
[33] VAR 'test5_result' type_id=26, linkage=global
[34] VAR 'test6_result' type_id=26, linkage=global
[35] VAR 'bpf_fentry_test1' type_id=30, linkage=extern
[36] VAR 'bpf_fentry_test2' type_id=30, linkage=extern
[37] VAR 'bpf_fentry_test4' type_id=30, linkage=extern
[38] VAR 'bpf_modify_return_test' type_id=30, linkage=extern
[39] DATASEC '.bss' size=0 vlen=6
        type_id=27 offset=0 size=8 (VAR 'test1_result')
        type_id=28 offset=0 size=8 (VAR 'test2_result')
        type_id=29 offset=0 size=8 (VAR 'test3_result')
        type_id=32 offset=0 size=8 (VAR 'test4_result')
        type_id=33 offset=0 size=8 (VAR 'test5_result')
        type_id=34 offset=0 size=8 (VAR 'test6_result')
[40] DATASEC '.kconfig' size=0 vlen=1
        type_id=25 offset=0 size=1 (VAR 'CONFIG_X86_KERNEL_IBT')
[41] DATASEC '.ksyms' size=0 vlen=5
        type_id=31 offset=0 size=1 (VAR 'bpf_fentry_test3')
        type_id=35 offset=0 size=1 (VAR 'bpf_fentry_test1')
        type_id=36 offset=0 size=1 (VAR 'bpf_fentry_test2')
        type_id=37 offset=0 size=1 (VAR 'bpf_fentry_test4')
        type_id=38 offset=0 size=1 (VAR 'bpf_modify_return_test')
[42] DATASEC 'license' size=0 vlen=1
        type_id=23 offset=0 size=4 (VAR '_license')

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/106773] libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops'
  2022-08-29 22:07 [Bug c/106773] New: libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops' james.hilliard1 at gmail dot com
                   ` (13 preceding siblings ...)
  2022-12-05 19:01 ` james.hilliard1 at gmail dot com
@ 2022-12-05 21:06 ` david.faust at oracle dot com
  2022-12-05 21:57 ` james.hilliard1 at gmail dot com
                   ` (4 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: david.faust at oracle dot com @ 2022-12-05 21:06 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106773

David Faust <david.faust at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #54017|0                           |1
        is obsolete|                            |

--- Comment #15 from David Faust <david.faust at oracle dot com> ---
Created attachment 54021
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54021&action=edit
[v2] DATASEC entries for extern funcs

v2 fixes an off-by-one bug introduced in the patch which was causing
libbpf: Invalid BTF total size

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/106773] libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops'
  2022-08-29 22:07 [Bug c/106773] New: libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops' james.hilliard1 at gmail dot com
                   ` (14 preceding siblings ...)
  2022-12-05 21:06 ` david.faust at oracle dot com
@ 2022-12-05 21:57 ` james.hilliard1 at gmail dot com
  2022-12-14 18:25 ` cvs-commit at gcc dot gnu.org
                   ` (3 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: james.hilliard1 at gmail dot com @ 2022-12-05 21:57 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106773

--- Comment #16 from James Hilliard <james.hilliard1 at gmail dot com> ---
(In reply to David Faust from comment #15)
> Created attachment 54021 [details]
> [v2] DATASEC entries for extern funcs
> 
> v2 fixes an off-by-one bug introduced in the patch which was causing
> libbpf: Invalid BTF total size

Yeah, this seems to work.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/106773] libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops'
  2022-08-29 22:07 [Bug c/106773] New: libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops' james.hilliard1 at gmail dot com
                   ` (15 preceding siblings ...)
  2022-12-05 21:57 ` james.hilliard1 at gmail dot com
@ 2022-12-14 18:25 ` cvs-commit at gcc dot gnu.org
  2022-12-14 18:25 ` cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-12-14 18:25 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106773

--- Comment #17 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by David Faust <dfaust@gcc.gnu.org>:

https://gcc.gnu.org/g:2bce22e88e1c8486a0f2d42311506a8d3da20fb7

commit r13-4707-g2bce22e88e1c8486a0f2d42311506a8d3da20fb7
Author: David Faust <david.faust@oracle.com>
Date:   Wed Dec 7 11:44:28 2022 -0800

    btf: add 'extern' linkage for variables [PR106773]

    Add support for the 'extern' linkage value for BTF_KIND_VAR records,
    which is used for variables declared as extern in the source file.

    This also fixes a bug with BTF generation for extern variables which
    have both a non-defining declaration and a defining declaration in the
    same CU.

            PR target/106773

    gcc/

            * btfout.cc (btf_collect_datasec): Mark extern variables as such.
            (btf_dvd_emit_preprocess_cb): Skip non-defining extern variable
decl
            if there is a defining decl for the same variable.
            (btf_asm_varent): Accomodate 'extern' linkage.

    gcc/testsuite/

            * gcc.dg/debug/btf/btf-variables-4.c: New test.
            * gcc.dg/debug/btf/btf-variables-5.c: New test.

    include/

            * btf.h (enum btf_var_linkage): New.
            (struct btf_var): Update comment to note 'extern' linkage.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/106773] libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops'
  2022-08-29 22:07 [Bug c/106773] New: libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops' james.hilliard1 at gmail dot com
                   ` (16 preceding siblings ...)
  2022-12-14 18:25 ` cvs-commit at gcc dot gnu.org
@ 2022-12-14 18:25 ` cvs-commit at gcc dot gnu.org
  2022-12-14 18:26 ` cvs-commit at gcc dot gnu.org
  2023-01-06 14:18 ` jemarch at gcc dot gnu.org
  19 siblings, 0 replies; 21+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-12-14 18:25 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106773

--- Comment #18 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by David Faust <dfaust@gcc.gnu.org>:

https://gcc.gnu.org/g:4f7aa145b796c044526c93f390e68f3b56a1b30a

commit r13-4708-g4f7aa145b796c044526c93f390e68f3b56a1b30a
Author: David Faust <david.faust@oracle.com>
Date:   Wed Dec 7 11:47:26 2022 -0800

    btf: fix 'extern const void' variables [PR106773]

    The eBPF loader expects to find BTF_KIND_VAR records for references to
    extern const void symbols. We were mistakenly identifing these as
    unsupported types, and as a result skipping emitting VAR records for
    them.

    In addition, the internal DWARF representation from which BTF is
    produced does not generate 'const' modifier DIEs for the void type,
    which meant in BTF the 'const' qualifier was dropped for 'extern const
    void' variables. This patch also adds support for generating a const
    void type in BTF to correct emission for these variables.

            PR target/106773

    gcc/

            * btfout.cc (btf_collect_datasec): Correct size of void entries.
            (btf_dvd_emit_preprocess_cb): Do not skip emitting variables which
            refer to void types.
            (btf_init_postprocess): Create 'const void' type record if needed
and
            adjust variables to refer to it as appropriate.

    gcc/testsuite/

            * gcc.dg/debug/btf/btf-pr106773.c: New test.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/106773] libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops'
  2022-08-29 22:07 [Bug c/106773] New: libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops' james.hilliard1 at gmail dot com
                   ` (17 preceding siblings ...)
  2022-12-14 18:25 ` cvs-commit at gcc dot gnu.org
@ 2022-12-14 18:26 ` cvs-commit at gcc dot gnu.org
  2023-01-06 14:18 ` jemarch at gcc dot gnu.org
  19 siblings, 0 replies; 21+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-12-14 18:26 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106773

--- Comment #19 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by David Faust <dfaust@gcc.gnu.org>:

https://gcc.gnu.org/g:70b303049e45c180236a4114f844311652bad002

commit r13-4709-g70b303049e45c180236a4114f844311652bad002
Author: David Faust <david.faust@oracle.com>
Date:   Wed Dec 7 11:51:59 2022 -0800

    btf: correct generation for extern funcs [PR106773]

    The eBPF loader expects to find entries for functions declared as extern
    in the corresponding BTF_KIND_DATASEC record, but we were not generating
    these entries.

    This patch adds support for the 'extern' linkage of function types in
    BTF, and creates entries for for them BTF_KIND_DATASEC records as needed.

            PR target/106773

    gcc/

            * btfout.cc (get_section_name): New function.
            (btf_collect_datasec): Use it here. Process functions, marking them
            'extern' and generating DATASEC entries for them as appropriate.
Move
            creation of BTF_KIND_FUNC records to here...
            (btf_dtd_emit_preprocess_cb): ... from here.

    gcc/testsuite/

            * gcc.dg/debug/btf/btf-datasec-2.c: New test.
            * gcc.dg/debug/btf/btf-function-6.c: New test.

    include/

            * btf.h (enum btf_func_linkage): New.
            (struct btf_var_secinfo): Update comments with notes about extern
            functions.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug target/106773] libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops'
  2022-08-29 22:07 [Bug c/106773] New: libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops' james.hilliard1 at gmail dot com
                   ` (18 preceding siblings ...)
  2022-12-14 18:26 ` cvs-commit at gcc dot gnu.org
@ 2023-01-06 14:18 ` jemarch at gcc dot gnu.org
  19 siblings, 0 replies; 21+ messages in thread
From: jemarch at gcc dot gnu.org @ 2023-01-06 14:18 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106773

Jose E. Marchesi <jemarch at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|UNCONFIRMED                 |RESOLVED

--- Comment #20 from Jose E. Marchesi <jemarch at gcc dot gnu.org> ---
This is fixed.

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2023-01-06 14:18 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-29 22:07 [Bug c/106773] New: libbpf: failed to find BTF info for global/extern symbol 'bpf_link_fops' james.hilliard1 at gmail dot com
2022-09-01 20:31 ` [Bug target/106773] " james.hilliard1 at gmail dot com
2022-09-01 22:33 ` james.hilliard1 at gmail dot com
2022-11-29  0:44 ` david.faust at oracle dot com
2022-11-30 21:20 ` david.faust at oracle dot com
2022-12-01  0:04 ` james.hilliard1 at gmail dot com
2022-12-01  0:12 ` james.hilliard1 at gmail dot com
2022-12-01  2:07 ` james.hilliard1 at gmail dot com
2022-12-01 17:09 ` david.faust at oracle dot com
2022-12-01 21:49 ` david.faust at oracle dot com
2022-12-01 22:09 ` james.hilliard1 at gmail dot com
2022-12-01 22:11 ` james.hilliard1 at gmail dot com
2022-12-01 22:30 ` james.hilliard1 at gmail dot com
2022-12-05 17:42 ` david.faust at oracle dot com
2022-12-05 19:01 ` james.hilliard1 at gmail dot com
2022-12-05 21:06 ` david.faust at oracle dot com
2022-12-05 21:57 ` james.hilliard1 at gmail dot com
2022-12-14 18:25 ` cvs-commit at gcc dot gnu.org
2022-12-14 18:25 ` cvs-commit at gcc dot gnu.org
2022-12-14 18:26 ` cvs-commit at gcc dot gnu.org
2023-01-06 14:18 ` jemarch at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).