Lines Matching defs:elf

25 #include "abg-elf-helpers.h"
29 #include "abg-elf-reader.h"
38 namespace elf
43 /// @param elf_module the elf module to consider.
56 Elf *elf = dwarf_getelf(dwarf);
58 elf_header = gelf_getehdr(elf, &ehmem);
61 while ((section = elf_nextscn(elf, section)) != 0)
68 const char *section_name = elf_strptr(elf,
148 /// @param elf_module the elf module to consider.
243 /// Private data of the @ref elf::reader type.
262 // The address range of the offline elf file we are looking at.
284 /// Reset the private data of @elf elf::reader.
332 /// Find the alternate debuginfo file associated to a given elf file.
334 /// @param elf_module represents the elf file to consider.
345 result = elf::find_alt_dwarf_debug_info(elf_module,
446 /// The constructor of the @ref elf::reader type.
465 /// The destructor of the @ref elf::reader type.
470 /// elf::reader type.
575 /// Check if the underlying elf file refers to an alternate debug info
692 /// @return the elf symbol if found, or nil otherwise.
724 /// @return the elf symbol if found, or nil otherwise.
753 /// @return the elf symbol if found, or nil otherwise.
783 /// @return the elf symbol if found, or nil otherwise.
807 /// Load the DT_NEEDED and DT_SONAME elf TAGS.
841 /// info. That is, things like various tags, elf architecture and
894 // If we couldn't load debug info from the elf path, then say it.
922 /// @param elf the elf handle to use for the query.
924 /// @return the @ref elf_type for a given elf type.
925 static elf::elf_type
926 elf_file_type(Elf* elf)
929 GElf_Ehdr *header = gelf_getehdr (elf, &ehdr_mem);
935 if (lookup_data_tag_from_dynamic_segment(elf, DT_DEBUG, dt_debug_data))
936 return elf::ELF_TYPE_PI_EXEC;
938 return elf::ELF_TYPE_DSO;
940 return elf::ELF_TYPE_EXEC;
942 return elf::ELF_TYPE_RELOCATABLE;
944 return elf::ELF_TYPE_UNKNOWN;
948 /// Get the type of a given elf type.
959 get_type_of_elf_file(const string& path, elf::elf_type& type)
966 Elf *elf = elf_begin (fd, ELF_C_READ_MMAP, NULL);
967 type = elf_file_type(elf);
968 elf_end(elf);
974 }// end namespace elf