Lines Matching defs:ELFRelocation

93 /// \class ELFRelocation
98 class ELFRelocation {
100 /// Constructs an ELFRelocation entry with a personality as given by @p
104 ELFRelocation(unsigned type);
106 ~ELFRelocation();
110 static unsigned RelocType32(const ELFRelocation &rel);
112 static unsigned RelocType64(const ELFRelocation &rel);
114 static unsigned RelocSymbol32(const ELFRelocation &rel);
116 static unsigned RelocSymbol64(const ELFRelocation &rel);
118 static elf_addr RelocOffset32(const ELFRelocation &rel);
120 static elf_addr RelocOffset64(const ELFRelocation &rel);
122 static elf_sxword RelocAddend32(const ELFRelocation &rel);
124 static elf_sxword RelocAddend64(const ELFRelocation &rel);
135 ELFRelocation::ELFRelocation(unsigned type) {
146 ELFRelocation::~ELFRelocation() {
153 bool ELFRelocation::Parse(const lldb_private::DataExtractor &data,
161 unsigned ELFRelocation::RelocType32(const ELFRelocation &rel) {
168 unsigned ELFRelocation::RelocType64(const ELFRelocation &rel) {
175 unsigned ELFRelocation::RelocSymbol32(const ELFRelocation &rel) {
182 unsigned ELFRelocation::RelocSymbol64(const ELFRelocation &rel) {
189 elf_addr ELFRelocation::RelocOffset32(const ELFRelocation &rel) {
196 elf_addr ELFRelocation::RelocOffset64(const ELFRelocation &rel) {
203 elf_sxword ELFRelocation::RelocAddend32(const ELFRelocation &rel) {
210 elf_sxword ELFRelocation::RelocAddend64(const ELFRelocation &rel) {
2572 ELFRelocation rel(rel_type);
2581 typedef unsigned (*reloc_info_fn)(const ELFRelocation &rel);
2586 reloc_type = ELFRelocation::RelocType32;
2587 reloc_symbol = ELFRelocation::RelocSymbol32;
2589 reloc_type = ELFRelocation::RelocType64;
2590 reloc_symbol = ELFRelocation::RelocSymbol64;
2701 static void ApplyELF64ABS64Relocation(Symtab *symtab, ELFRelocation &rel,
2704 Symbol *symbol = symtab->FindSymbolByID(ELFRelocation::RelocSymbol64(rel));
2713 ELFRelocation::RelocOffset64(rel));
2714 uint64_t val_offset = value + ELFRelocation::RelocAddend64(rel);
2719 static void ApplyELF64ABS32Relocation(Symtab *symtab, ELFRelocation &rel,
2722 Symbol *symbol = symtab->FindSymbolByID(ELFRelocation::RelocSymbol64(rel));
2725 value += ELFRelocation::RelocAddend32(rel);
2740 ELFRelocation::RelocOffset32(rel));
2745 static void ApplyELF32ABS32RelRelocation(Symtab *symtab, ELFRelocation &rel,
2749 Symbol *symbol = symtab->FindSymbolByID(ELFRelocation::RelocSymbol32(rel));
2763 ELFRelocation::RelocOffset32(rel);
2788 ELFRelocation rel(rel_hdr->sh_type);
2791 typedef unsigned (*reloc_info_fn)(const ELFRelocation &rel);
2796 reloc_type = ELFRelocation::RelocType32;
2797 reloc_symbol = ELFRelocation::RelocSymbol32;
2799 reloc_type = ELFRelocation::RelocType64;
2800 reloc_symbol = ELFRelocation::RelocSymbol64;
2834 rel_section->GetFileOffset() + ELFRelocation::RelocOffset32(rel);
2844 value += ELFRelocation::RelocAddend32(rel);