Lines Matching defs:ELFRelocation

92 /// \class ELFRelocation
97 class ELFRelocation {
99 /// Constructs an ELFRelocation entry with a personality as given by @p
103 ELFRelocation(unsigned type);
105 ~ELFRelocation();
109 static unsigned RelocType32(const ELFRelocation &rel);
111 static unsigned RelocType64(const ELFRelocation &rel);
113 static unsigned RelocSymbol32(const ELFRelocation &rel);
115 static unsigned RelocSymbol64(const ELFRelocation &rel);
117 static elf_addr RelocOffset32(const ELFRelocation &rel);
119 static elf_addr RelocOffset64(const ELFRelocation &rel);
121 static elf_sxword RelocAddend32(const ELFRelocation &rel);
123 static elf_sxword RelocAddend64(const ELFRelocation &rel);
134 ELFRelocation::ELFRelocation(unsigned type) {
145 ELFRelocation::~ELFRelocation() {
152 bool ELFRelocation::Parse(const lldb_private::DataExtractor &data,
160 unsigned ELFRelocation::RelocType32(const ELFRelocation &rel) {
167 unsigned ELFRelocation::RelocType64(const ELFRelocation &rel) {
174 unsigned ELFRelocation::RelocSymbol32(const ELFRelocation &rel) {
181 unsigned ELFRelocation::RelocSymbol64(const ELFRelocation &rel) {
188 elf_addr ELFRelocation::RelocOffset32(const ELFRelocation &rel) {
195 elf_addr ELFRelocation::RelocOffset64(const ELFRelocation &rel) {
202 elf_sxword ELFRelocation::RelocAddend32(const ELFRelocation &rel) {
209 elf_sxword ELFRelocation::RelocAddend64(const ELFRelocation &rel) {
2578 ELFRelocation rel(rel_type);
2587 typedef unsigned (*reloc_info_fn)(const ELFRelocation &rel);
2592 reloc_type = ELFRelocation::RelocType32;
2593 reloc_symbol = ELFRelocation::RelocSymbol32;
2595 reloc_type = ELFRelocation::RelocType64;
2596 reloc_symbol = ELFRelocation::RelocSymbol64;
2707 static void ApplyELF64ABS64Relocation(Symtab *symtab, ELFRelocation &rel,
2710 Symbol *symbol = symtab->FindSymbolByID(ELFRelocation::RelocSymbol64(rel));
2719 ELFRelocation::RelocOffset64(rel));
2720 uint64_t val_offset = value + ELFRelocation::RelocAddend64(rel);
2725 static void ApplyELF64ABS32Relocation(Symtab *symtab, ELFRelocation &rel,
2728 Symbol *symbol = symtab->FindSymbolByID(ELFRelocation::RelocSymbol64(rel));
2731 value += ELFRelocation::RelocAddend32(rel);
2746 ELFRelocation::RelocOffset32(rel));
2751 static void ApplyELF32ABS32RelRelocation(Symtab *symtab, ELFRelocation &rel,
2755 Symbol *symbol = symtab->FindSymbolByID(ELFRelocation::RelocSymbol32(rel));
2769 ELFRelocation::RelocOffset32(rel);
2794 ELFRelocation rel(rel_hdr->sh_type);
2797 typedef unsigned (*reloc_info_fn)(const ELFRelocation &rel);
2802 reloc_type = ELFRelocation::RelocType32;
2803 reloc_symbol = ELFRelocation::RelocSymbol32;
2805 reloc_type = ELFRelocation::RelocType64;
2806 reloc_symbol = ELFRelocation::RelocSymbol64;
2840 rel_section->GetFileOffset() + ELFRelocation::RelocOffset32(rel);
2850 value += ELFRelocation::RelocAddend32(rel);