Lines Matching refs:elf_header
177 bool LoadStabs(const typename ElfClass::Ehdr* elf_header, in LoadStabs() argument
189 GetOffset<ElfClass, uint8_t>(elf_header, stab_section->sh_offset); in LoadStabs()
191 GetOffset<ElfClass, uint8_t>(elf_header, stabstr_section->sh_offset); in LoadStabs()
227 const typename ElfClass::Ehdr* elf_header, in LoadDwarf() argument
244 GetOffset<ElfClass, Shdr>(elf_header, elf_header->e_shoff); in LoadDwarf()
245 int num_sections = elf_header->e_shnum; in LoadDwarf()
246 const Shdr* section_names = sections + elf_header->e_shstrndx; in LoadDwarf()
249 string name = GetOffset<ElfClass, char>(elf_header, in LoadDwarf()
252 const char* contents = GetOffset<ElfClass, char>(elf_header, in LoadDwarf()
292 bool DwarfCFIRegisterNames(const typename ElfClass::Ehdr* elf_header, in DwarfCFIRegisterNames() argument
294 switch (elf_header->e_machine) { in DwarfCFIRegisterNames()
317 const typename ElfClass::Ehdr* elf_header, in LoadDwarfCFI() argument
328 if (!DwarfCFIRegisterNames<ElfClass>(elf_header, ®ister_names)) { in LoadDwarfCFI()
331 dwarf_filename.c_str(), elf_header->e_machine); in LoadDwarfCFI()
340 GetOffset<ElfClass, char>(elf_header, section->sh_offset); in LoadDwarfCFI()
368 void** elf_header) { in LoadELF() argument
390 *elf_header = obj_base; in LoadELF()
391 if (!IsValidElf(*elf_header)) { in LoadELF()
400 bool ElfEndianness(const typename ElfClass::Ehdr* elf_header, in ElfEndianness() argument
402 if (elf_header->e_ident[EI_DATA] == ELFDATA2LSB) { in ElfEndianness()
406 if (elf_header->e_ident[EI_DATA] == ELFDATA2MSB) { in ElfEndianness()
412 elf_header->e_ident[EI_DATA]); in ElfEndianness()
587 const typename ElfClass::Ehdr* elf_header, in LoadSymbols() argument
598 GetOffset<ElfClass, Phdr>(elf_header, elf_header->e_phoff), in LoadSymbols()
599 elf_header->e_phnum); in LoadSymbols()
604 elf_header->e_machine == EM_MIPS ? SHT_MIPS_DWARF : SHT_PROGBITS; in LoadSymbols()
606 GetOffset<ElfClass, Shdr>(elf_header, elf_header->e_shoff); in LoadSymbols()
607 const Shdr* section_names = sections + elf_header->e_shstrndx; in LoadSymbols()
609 GetOffset<ElfClass, char>(elf_header, section_names->sh_offset); in LoadSymbols()
620 elf_header->e_shnum); in LoadSymbols()
627 if (!LoadStabs<ElfClass>(elf_header, stab_section, stabstr_section, in LoadSymbols()
640 elf_header->e_shnum); in LoadSymbols()
645 if (!LoadDwarf<ElfClass>(obj_file, elf_header, big_endian, in LoadSymbols()
656 elf_header->e_shnum); in LoadSymbols()
660 elf_header->e_shnum); in LoadSymbols()
665 GetOffset<ElfClass, uint8_t>(elf_header, in LoadSymbols()
668 GetOffset<ElfClass, uint8_t>(elf_header, in LoadSymbols()
688 elf_header->e_shnum); in LoadSymbols()
695 LoadDwarfCFI<ElfClass>(obj_file, elf_header, ".debug_frame", in LoadSymbols()
706 elf_header->e_shnum); in LoadSymbols()
713 elf_header->e_shnum); in LoadSymbols()
717 elf_header->e_shnum); in LoadSymbols()
721 LoadDwarfCFI<ElfClass>(obj_file, elf_header, ".eh_frame", in LoadSymbols()
738 names_end, elf_header->e_shnum); in LoadSymbols()
742 GetOffset<ElfClass, char>(elf_header, in LoadSymbols()
776 const char* ElfArchitecture(const typename ElfClass::Ehdr* elf_header) { in ElfArchitecture() argument
778 Half arch = elf_header->e_machine; in ElfArchitecture()
855 bool ReadSymbolDataElfClass(const typename ElfClass::Ehdr* elf_header, in ReadSymbolDataElfClass() argument
866 if (!google_breakpad::FileID::ElfFileIdentifierFromMappedFile(elf_header, in ReadSymbolDataElfClass()
873 const char *architecture = ElfArchitecture<ElfClass>(elf_header); in ReadSymbolDataElfClass()
876 obj_filename.c_str(), elf_header->e_machine); in ReadSymbolDataElfClass()
882 if (!ElfEndianness<ElfClass>(elf_header, &big_endian)) in ReadSymbolDataElfClass()
891 if (!LoadSymbols<ElfClass>(obj_filename, big_endian, elf_header, in ReadSymbolDataElfClass()
968 void* elf_header = NULL; in ReadSymbolData() local
969 if (!LoadELF(obj_file, &map_wrapper, &elf_header)) in ReadSymbolData()
972 return ReadSymbolDataInternal(reinterpret_cast<uint8_t*>(elf_header), in ReadSymbolData()