mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-25 00:42:08 +07:00
e6c64855fd
Loading BTF and BTF.ext from ELF file is a common need. Instead of requiring every user to re-implement it, let's provide this API from libbpf itself. It's mostly copy/paste from `bpftool btf dump` implementation, which will be switched to libbpf's version in next patch. btf__parse_elf allows to load BTF and optionally BTF.ext. This is also useful for tests that need to load/work with BTF, loaded from test ELF files. Signed-off-by: Andrii Nakryiko <andriin@fb.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org>
172 lines
3.7 KiB
Plaintext
172 lines
3.7 KiB
Plaintext
LIBBPF_0.0.1 {
|
|
global:
|
|
bpf_btf_get_fd_by_id;
|
|
bpf_create_map;
|
|
bpf_create_map_in_map;
|
|
bpf_create_map_in_map_node;
|
|
bpf_create_map_name;
|
|
bpf_create_map_node;
|
|
bpf_create_map_xattr;
|
|
bpf_load_btf;
|
|
bpf_load_program;
|
|
bpf_load_program_xattr;
|
|
bpf_map__btf_key_type_id;
|
|
bpf_map__btf_value_type_id;
|
|
bpf_map__def;
|
|
bpf_map__fd;
|
|
bpf_map__is_offload_neutral;
|
|
bpf_map__name;
|
|
bpf_map__next;
|
|
bpf_map__pin;
|
|
bpf_map__prev;
|
|
bpf_map__priv;
|
|
bpf_map__reuse_fd;
|
|
bpf_map__set_ifindex;
|
|
bpf_map__set_inner_map_fd;
|
|
bpf_map__set_priv;
|
|
bpf_map__unpin;
|
|
bpf_map_delete_elem;
|
|
bpf_map_get_fd_by_id;
|
|
bpf_map_get_next_id;
|
|
bpf_map_get_next_key;
|
|
bpf_map_lookup_and_delete_elem;
|
|
bpf_map_lookup_elem;
|
|
bpf_map_update_elem;
|
|
bpf_obj_get;
|
|
bpf_obj_get_info_by_fd;
|
|
bpf_obj_pin;
|
|
bpf_object__btf_fd;
|
|
bpf_object__close;
|
|
bpf_object__find_map_by_name;
|
|
bpf_object__find_map_by_offset;
|
|
bpf_object__find_program_by_title;
|
|
bpf_object__kversion;
|
|
bpf_object__load;
|
|
bpf_object__name;
|
|
bpf_object__next;
|
|
bpf_object__open;
|
|
bpf_object__open_buffer;
|
|
bpf_object__open_xattr;
|
|
bpf_object__pin;
|
|
bpf_object__pin_maps;
|
|
bpf_object__pin_programs;
|
|
bpf_object__priv;
|
|
bpf_object__set_priv;
|
|
bpf_object__unload;
|
|
bpf_object__unpin_maps;
|
|
bpf_object__unpin_programs;
|
|
bpf_perf_event_read_simple;
|
|
bpf_prog_attach;
|
|
bpf_prog_detach;
|
|
bpf_prog_detach2;
|
|
bpf_prog_get_fd_by_id;
|
|
bpf_prog_get_next_id;
|
|
bpf_prog_load;
|
|
bpf_prog_load_xattr;
|
|
bpf_prog_query;
|
|
bpf_prog_test_run;
|
|
bpf_prog_test_run_xattr;
|
|
bpf_program__fd;
|
|
bpf_program__is_kprobe;
|
|
bpf_program__is_perf_event;
|
|
bpf_program__is_raw_tracepoint;
|
|
bpf_program__is_sched_act;
|
|
bpf_program__is_sched_cls;
|
|
bpf_program__is_socket_filter;
|
|
bpf_program__is_tracepoint;
|
|
bpf_program__is_xdp;
|
|
bpf_program__load;
|
|
bpf_program__next;
|
|
bpf_program__nth_fd;
|
|
bpf_program__pin;
|
|
bpf_program__pin_instance;
|
|
bpf_program__prev;
|
|
bpf_program__priv;
|
|
bpf_program__set_expected_attach_type;
|
|
bpf_program__set_ifindex;
|
|
bpf_program__set_kprobe;
|
|
bpf_program__set_perf_event;
|
|
bpf_program__set_prep;
|
|
bpf_program__set_priv;
|
|
bpf_program__set_raw_tracepoint;
|
|
bpf_program__set_sched_act;
|
|
bpf_program__set_sched_cls;
|
|
bpf_program__set_socket_filter;
|
|
bpf_program__set_tracepoint;
|
|
bpf_program__set_type;
|
|
bpf_program__set_xdp;
|
|
bpf_program__title;
|
|
bpf_program__unload;
|
|
bpf_program__unpin;
|
|
bpf_program__unpin_instance;
|
|
bpf_prog_linfo__free;
|
|
bpf_prog_linfo__new;
|
|
bpf_prog_linfo__lfind_addr_func;
|
|
bpf_prog_linfo__lfind;
|
|
bpf_raw_tracepoint_open;
|
|
bpf_set_link_xdp_fd;
|
|
bpf_task_fd_query;
|
|
bpf_verify_program;
|
|
btf__fd;
|
|
btf__find_by_name;
|
|
btf__free;
|
|
btf__get_from_id;
|
|
btf__name_by_offset;
|
|
btf__new;
|
|
btf__resolve_size;
|
|
btf__resolve_type;
|
|
btf__type_by_id;
|
|
libbpf_attach_type_by_name;
|
|
libbpf_get_error;
|
|
libbpf_prog_type_by_name;
|
|
libbpf_set_print;
|
|
libbpf_strerror;
|
|
local:
|
|
*;
|
|
};
|
|
|
|
LIBBPF_0.0.2 {
|
|
global:
|
|
bpf_probe_helper;
|
|
bpf_probe_map_type;
|
|
bpf_probe_prog_type;
|
|
bpf_map__resize;
|
|
bpf_map_lookup_elem_flags;
|
|
bpf_object__btf;
|
|
bpf_object__find_map_fd_by_name;
|
|
bpf_get_link_xdp_id;
|
|
btf__dedup;
|
|
btf__get_map_kv_tids;
|
|
btf__get_nr_types;
|
|
btf__get_raw_data;
|
|
btf__load;
|
|
btf_ext__free;
|
|
btf_ext__func_info_rec_size;
|
|
btf_ext__get_raw_data;
|
|
btf_ext__line_info_rec_size;
|
|
btf_ext__new;
|
|
btf_ext__reloc_func_info;
|
|
btf_ext__reloc_line_info;
|
|
xsk_umem__create;
|
|
xsk_socket__create;
|
|
xsk_umem__delete;
|
|
xsk_socket__delete;
|
|
xsk_umem__fd;
|
|
xsk_socket__fd;
|
|
bpf_program__get_prog_info_linear;
|
|
bpf_program__bpil_addr_to_offs;
|
|
bpf_program__bpil_offs_to_addr;
|
|
} LIBBPF_0.0.1;
|
|
|
|
LIBBPF_0.0.3 {
|
|
global:
|
|
bpf_map__is_internal;
|
|
bpf_map_freeze;
|
|
btf__finalize_data;
|
|
} LIBBPF_0.0.2;
|
|
|
|
LIBBPF_0.0.4 {
|
|
global:
|
|
btf__parse_elf;
|
|
} LIBBPF_0.0.3;
|