Files
third_party_elfutils/libdw/libdw.map
T
Mark Wielaard ac6960d6b8 libdw: Add new dwarf_cu_info function.
This allows getting a (split) subdie lazily, only when needed.
All arguments to dwarf_get_units are optional. When not given
then unit DIE and sub DIE are not looked up. This new function
allows them to be looked up when not immediately retrieved with
dwarf_get_units, or for a Dwarf_CU gotten through some other way.

Add a new testcase to make sure the results of calling dwarf_cu_info
and dwarf_get_units are consistent.

Signed-off-by: Mark Wielaard <mark@klomp.org>
2018-05-24 17:34:17 +02:00

355 lines
7.0 KiB
Plaintext

ELFUTILS_0 { };
ELFUTILS_0.122 {
global:
dwarf_abbrevhaschildren;
dwarf_addrdie;
dwarf_arrayorder;
dwarf_attr;
dwarf_attr_integrate;
dwarf_begin;
dwarf_begin_elf;
dwarf_bitoffset;
dwarf_bitsize;
dwarf_bytesize;
dwarf_child;
dwarf_cuoffset;
dwarf_decl_column;
dwarf_decl_file;
dwarf_decl_line;
dwarf_diecu;
dwarf_diename;
dwarf_dieoffset;
dwarf_end;
dwarf_entry_breakpoints;
dwarf_entrypc;
dwarf_errmsg;
dwarf_errno;
dwarf_filesrc;
dwarf_formaddr;
dwarf_formblock;
dwarf_formflag;
dwarf_formref;
dwarf_formref_die;
dwarf_formsdata;
dwarf_formstring;
dwarf_formudata;
dwarf_func_inline;
dwarf_func_inline_instances;
dwarf_getabbrev;
dwarf_getabbrevattr;
dwarf_getabbrevcode;
dwarf_getabbrevtag;
dwarf_getarange_addr;
dwarf_getarangeinfo;
dwarf_getaranges;
dwarf_getattrcnt;
dwarf_getattrs;
dwarf_getfuncs;
dwarf_getlocation;
dwarf_getlocation_addr;
dwarf_getmacros;
dwarf_getpubnames;
dwarf_getscn_info;
dwarf_getscopes;
dwarf_getscopes_die;
dwarf_getscopevar;
dwarf_getsrc_die;
dwarf_getsrc_file;
dwarf_getsrcfiles;
dwarf_getsrclines;
dwarf_getstring;
dwarf_hasattr;
dwarf_hasattr_integrate;
dwarf_haschildren;
dwarf_hasform;
dwarf_haspc;
dwarf_highpc;
dwarf_lineaddr;
dwarf_linebeginstatement;
dwarf_lineblock;
dwarf_linecol;
dwarf_lineendsequence;
dwarf_lineepiloguebegin;
dwarf_lineno;
dwarf_lineprologueend;
dwarf_linesrc;
dwarf_lowpc;
dwarf_macro_opcode;
dwarf_macro_param1;
dwarf_macro_param2;
dwarf_new_oom_handler;
dwarf_nextcu;
dwarf_offabbrev;
dwarf_offdie;
dwarf_onearange;
dwarf_onesrcline;
dwarf_ranges;
dwarf_siblingof;
dwarf_srclang;
dwarf_tag;
dwarf_whatattr;
dwarf_whatform;
# libdwfl_pic.a contributes these symbols.
dwfl_addrdie;
dwfl_addrdwarf;
dwfl_addrmodule;
dwfl_begin;
dwfl_cumodule;
dwfl_end;
dwfl_errmsg;
dwfl_errno;
dwfl_getdwarf;
dwfl_getmodules;
dwfl_getsrc;
dwfl_getsrclines;
dwfl_line_comp_dir;
dwfl_linecu;
dwfl_lineinfo;
dwfl_linemodule;
dwfl_linux_kernel_find_elf;
dwfl_linux_kernel_module_section_address;
dwfl_linux_kernel_report_kernel;
dwfl_linux_kernel_report_modules;
dwfl_linux_kernel_report_offline;
dwfl_linux_proc_find_elf;
dwfl_linux_proc_maps_report;
dwfl_linux_proc_report;
dwfl_module_addrdie;
dwfl_module_addrname;
dwfl_module_getdwarf;
dwfl_module_getelf;
dwfl_module_getsrc;
dwfl_module_getsrc_file;
dwfl_module_getsym;
dwfl_module_getsymtab;
dwfl_module_info;
dwfl_module_nextcu;
dwfl_module_register_names;
dwfl_module_relocate_address;
dwfl_module_relocation_info;
dwfl_module_relocations;
dwfl_module_return_value_location;
dwfl_nextcu;
dwfl_offline_section_address;
dwfl_onesrcline;
dwfl_report_begin;
dwfl_report_elf;
dwfl_report_end;
dwfl_report_module;
dwfl_report_offline;
dwfl_standard_argp;
dwfl_standard_find_debuginfo;
dwfl_version;
local:
*;
} ELFUTILS_0;
ELFUTILS_0.126 {
global:
dwarf_getelf;
local:
*;
} ELFUTILS_0.122;
ELFUTILS_0.127 {
global:
dwarf_getsrcdirs;
dwfl_module_addrsym;
dwfl_report_begin_add;
dwfl_module_address_section;
local:
*;
} ELFUTILS_0.126;
ELFUTILS_0.130 {
global:
dwfl_build_id_find_elf;
dwfl_build_id_find_debuginfo;
dwfl_module_build_id;
dwfl_module_report_build_id;
local:
*;
} ELFUTILS_0.127;
ELFUTILS_0.136 {
global:
dwfl_addrsegment;
dwfl_report_segment;
local:
*;
} ELFUTILS_0.130;
ELFUTILS_0.138 {
global:
# Replaced ELFUTILS_0.130 version, which has bug-compatibility wrapper.
dwfl_module_build_id;
local:
*;
} ELFUTILS_0.136;
ELFUTILS_0.142 {
global:
dwarf_next_cfi;
dwarf_getcfi;
dwarf_getcfi_elf;
dwarf_cfi_addrframe;
dwarf_cfi_end;
dwarf_frame_cfa;
dwarf_frame_register;
dwarf_frame_info;
dwfl_module_dwarf_cfi;
dwfl_module_eh_cfi;
} ELFUTILS_0.138;
ELFUTILS_0.143 {
global:
dwarf_getlocation_implicit_value;
# Replaced ELFUTILS_0.122 versions. Both versions point to the
# same implementation, but users of the new symbol version can
# presume that they use dwarf_attr_integrate properly.
dwarf_arrayorder;
dwarf_bitoffset;
dwarf_bitsize;
dwarf_bytesize;
dwarf_decl_column;
dwarf_decl_file;
dwarf_decl_line;
dwarf_srclang;
} ELFUTILS_0.142;
ELFUTILS_0.144 {
global:
dwarf_aggregate_size;
} ELFUTILS_0.143;
ELFUTILS_0.146 {
global:
dwfl_core_file_report;
} ELFUTILS_0.144;
ELFUTILS_0.148 {
global:
dwarf_lineisa;
dwarf_linediscriminator;
dwarf_lineop_index;
dwarf_next_unit;
dwarf_offdie_types;
} ELFUTILS_0.146;
ELFUTILS_0.149 {
global:
dwarf_getlocation_implicit_pointer;
dwfl_dwarf_line;
} ELFUTILS_0.148;
ELFUTILS_0.156 {
global:
# Replaced ELFUTILS_0.122 version, which has a wrapper without add_p_vaddr.
dwfl_report_elf;
} ELFUTILS_0.149;
ELFUTILS_0.157 {
global:
dwarf_getlocations;
dwarf_getlocation_die;
dwarf_getlocation_attr;
} ELFUTILS_0.156;
ELFUTILS_0.158 {
global:
# Replaced ELFUTILS_0.146 version, which has a wrapper without executable.
dwfl_core_file_report;
dwfl_attach_state;
dwfl_pid;
dwfl_thread_dwfl;
dwfl_thread_tid;
dwfl_frame_thread;
dwfl_thread_state_registers;
dwfl_thread_state_register_pc;
dwfl_getthread_frames;
dwfl_getthreads;
dwfl_thread_getframes;
dwfl_frame_pc;
dwfl_module_getsymtab_first_global;
dwfl_module_addrinfo;
dwfl_module_getsym_info;
dwfl_core_file_attach;
dwfl_linux_proc_attach;
} ELFUTILS_0.157;
ELFUTILS_0.159 {
global:
dwarf_getalt;
dwarf_setalt;
dwelf_dwarf_gnu_debugaltlink;
dwelf_elf_gnu_debuglink;
dwelf_elf_gnu_build_id;
} ELFUTILS_0.158;
ELFUTILS_0.160 {
global:
dwarf_cu_getdwarf;
dwarf_cu_die;
} ELFUTILS_0.159;
ELFUTILS_0.161 {
global:
dwarf_peel_type;
# Replaced ELFUTILS_0.144 version. Both versions point to the
# same implementation, but users of the new symbol version can
# presume that it uses dwarf_peel_type.
dwarf_aggregate_size;
dwarf_getmacros_off;
dwarf_macro_getsrcfiles;
dwarf_macro_getparamcnt;
dwarf_macro_param;
} ELFUTILS_0.160;
ELFUTILS_0.165 {
global:
dwelf_scn_gnu_compressed_size;
} ELFUTILS_0.161;
ELFUTILS_0.167 {
global:
dwelf_strtab_init;
dwelf_strtab_add;
dwelf_strtab_add_len;
dwelf_strtab_finalize;
dwelf_strent_off;
dwelf_strent_str;
dwelf_strtab_free;
} ELFUTILS_0.165;
ELFUTILS_0.170 {
global:
dwarf_default_lower_bound;
dwarf_line_file;
} ELFUTILS_0.167;
ELFUTILS_0.171 {
global:
dwarf_die_addr_die;
dwarf_get_units;
dwarf_getabbrevattr_data;
dwarf_cu_info;
} ELFUTILS_0.170;