Lines Matching refs:ElfClass
81 using google_breakpad::ElfClass;
156 template<typename ElfClass>
157 typename ElfClass::Addr GetLoadingAddress( in GetLoadingAddress()
158 const typename ElfClass::Phdr* program_headers, in GetLoadingAddress()
160 typedef typename ElfClass::Phdr Phdr; in GetLoadingAddress()
176 template<typename ElfClass>
177 bool LoadStabs(const typename ElfClass::Ehdr* elf_header, in LoadStabs()
178 const typename ElfClass::Shdr* stab_section, in LoadStabs()
179 const typename ElfClass::Shdr* stabstr_section, in LoadStabs()
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()
225 template<typename ElfClass>
227 const typename ElfClass::Ehdr* elf_header, in LoadDwarf()
231 typedef typename ElfClass::Shdr Shdr; in LoadDwarf()
244 GetOffset<ElfClass, Shdr>(elf_header, elf_header->e_shoff); in LoadDwarf()
249 string name = GetOffset<ElfClass, char>(elf_header, in LoadDwarf()
252 const char* contents = GetOffset<ElfClass, char>(elf_header, in LoadDwarf()
291 template<typename ElfClass>
292 bool DwarfCFIRegisterNames(const typename ElfClass::Ehdr* elf_header, in DwarfCFIRegisterNames()
315 template<typename ElfClass>
317 const typename ElfClass::Ehdr* elf_header, in LoadDwarfCFI()
319 const typename ElfClass::Shdr* section, in LoadDwarfCFI()
321 const typename ElfClass::Shdr* got_section, in LoadDwarfCFI()
322 const typename ElfClass::Shdr* text_section, in LoadDwarfCFI()
328 if (!DwarfCFIRegisterNames<ElfClass>(elf_header, ®ister_names)) { in LoadDwarfCFI()
340 GetOffset<ElfClass, char>(elf_header, section->sh_offset); in LoadDwarfCFI()
348 byte_reader.SetAddressSize(ElfClass::kAddrSize); in LoadDwarfCFI()
399 template<typename ElfClass>
400 bool ElfEndianness(const typename ElfClass::Ehdr* elf_header, in ElfEndianness()
516 template<typename ElfClass>
519 typedef typename ElfClass::Addr Addr;
584 template<typename ElfClass>
587 const typename ElfClass::Ehdr* elf_header, in LoadSymbols()
589 LoadSymbolsInfo<ElfClass>* info, in LoadSymbols()
592 typedef typename ElfClass::Addr Addr; in LoadSymbols()
593 typedef typename ElfClass::Phdr Phdr; in LoadSymbols()
594 typedef typename ElfClass::Shdr Shdr; in LoadSymbols()
595 typedef typename ElfClass::Word Word; in LoadSymbols()
597 Addr loading_addr = GetLoadingAddress<ElfClass>( in LoadSymbols()
598 GetOffset<ElfClass, Phdr>(elf_header, elf_header->e_phoff), in LoadSymbols()
606 GetOffset<ElfClass, Shdr>(elf_header, elf_header->e_shoff); in LoadSymbols()
609 GetOffset<ElfClass, char>(elf_header, section_names->sh_offset); in LoadSymbols()
618 FindElfSectionByName<ElfClass>(".stab", SHT_PROGBITS, in LoadSymbols()
627 if (!LoadStabs<ElfClass>(elf_header, stab_section, stabstr_section, in LoadSymbols()
638 FindElfSectionByName<ElfClass>(".debug_info", debug_section_type, in LoadSymbols()
645 if (!LoadDwarf<ElfClass>(obj_file, elf_header, big_endian, in LoadSymbols()
654 FindElfSectionByName<ElfClass>(".dynsym", SHT_DYNSYM, in LoadSymbols()
658 FindElfSectionByName<ElfClass>(".dynstr", SHT_STRTAB, in LoadSymbols()
665 GetOffset<ElfClass, uint8_t>(elf_header, in LoadSymbols()
668 GetOffset<ElfClass, uint8_t>(elf_header, in LoadSymbols()
676 ElfClass::kAddrSize, in LoadSymbols()
686 FindElfSectionByName<ElfClass>(".debug_frame", debug_section_type, in LoadSymbols()
695 LoadDwarfCFI<ElfClass>(obj_file, elf_header, ".debug_frame", in LoadSymbols()
704 FindElfSectionByName<ElfClass>(".eh_frame", SHT_PROGBITS, in LoadSymbols()
711 FindElfSectionByName<ElfClass>(".got", SHT_PROGBITS, in LoadSymbols()
715 FindElfSectionByName<ElfClass>(".text", SHT_PROGBITS, in LoadSymbols()
721 LoadDwarfCFI<ElfClass>(obj_file, elf_header, ".eh_frame", in LoadSymbols()
736 = FindElfSectionByName<ElfClass>(".gnu_debuglink", SHT_PROGBITS, in LoadSymbols()
742 GetOffset<ElfClass, char>(elf_header, in LoadSymbols()
775 template<typename ElfClass>
776 const char* ElfArchitecture(const typename ElfClass::Ehdr* elf_header) { in ElfArchitecture()
777 typedef typename ElfClass::Half Half; in ElfArchitecture()
823 template<typename ElfClass>
824 bool SanitizeDebugFile(const typename ElfClass::Ehdr* debug_elf_header, in SanitizeDebugFile()
830 ElfArchitecture<ElfClass>(debug_elf_header); in SanitizeDebugFile()
844 if (!ElfEndianness<ElfClass>(debug_elf_header, &debug_big_endian)) in SanitizeDebugFile()
854 template<typename ElfClass>
855 bool ReadSymbolDataElfClass(const typename ElfClass::Ehdr* elf_header, in ReadSymbolDataElfClass()
860 typedef typename ElfClass::Ehdr Ehdr; in ReadSymbolDataElfClass()
861 typedef typename ElfClass::Shdr Shdr; in ReadSymbolDataElfClass()
873 const char *architecture = ElfArchitecture<ElfClass>(elf_header); in ReadSymbolDataElfClass()
882 if (!ElfEndianness<ElfClass>(elf_header, &big_endian)) in ReadSymbolDataElfClass()
889 LoadSymbolsInfo<ElfClass> info(debug_dirs); in ReadSymbolDataElfClass()
891 if (!LoadSymbols<ElfClass>(obj_filename, big_endian, elf_header, in ReadSymbolDataElfClass()
904 !SanitizeDebugFile<ElfClass>(debug_elf_header, debuglink_file, in ReadSymbolDataElfClass()
909 if (!LoadSymbols<ElfClass>(debuglink_file, big_endian, in ReadSymbolDataElfClass()
935 int elfclass = ElfClass(obj_file); in ReadSymbolDataInternal()