Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1512)

Unified Diff: third_party/android_crazy_linker/src/src/crazy_linker_elf_relocations.h

Issue 328153002: Roll to android/platform/ndk/681f1b744aec1b0888f4c7a68165720db9670300 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@fork
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/android_crazy_linker/src/src/crazy_linker_elf_relocations.h
diff --git a/third_party/android_crazy_linker/src/src/crazy_linker_elf_relocations.h b/third_party/android_crazy_linker/src/src/crazy_linker_elf_relocations.h
index 3973fc0922ae848238d3992d288a97aa2dfbe123..56220ce2580c1f16971043f268798105b0cb9eb6 100644
--- a/third_party/android_crazy_linker/src/src/crazy_linker_elf_relocations.h
+++ b/third_party/android_crazy_linker/src/src/crazy_linker_elf_relocations.h
@@ -56,11 +56,43 @@ class ElfRelocations {
size_t size);
private:
- bool ApplyRelocs(const ELF::Rel* relocs,
- size_t relocs_count,
- const ElfSymbols* symbols,
- SymbolResolver* resolver,
- Error* error);
+ bool ResolveSymbol(unsigned rel_type,
+ unsigned rel_symbol,
+ const ElfSymbols* symbols,
+ SymbolResolver* resolver,
+ ELF::Addr reloc,
+ ELF::Addr* sym_addr,
+ Error* error);
+ bool ApplyRelaReloc(const ELF::Rela* rela,
+ ELF::Addr sym_addr,
+ bool resolved,
+ Error* error);
+ bool ApplyRelReloc(const ELF::Rel* rel,
+ ELF::Addr sym_addr,
+ bool resolved,
+ Error* error);
+ bool ApplyRelaRelocs(const ELF::Rela* relocs,
+ size_t relocs_count,
+ const ElfSymbols* symbols,
+ SymbolResolver* resolver,
+ Error* error);
+ bool ApplyRelRelocs(const ELF::Rel* relocs,
+ size_t relocs_count,
+ const ElfSymbols* symbols,
+ SymbolResolver* resolver,
+ Error* error);
+ void AdjustRelocation(ELF::Word rel_type,
+ ELF::Addr src_reloc,
+ size_t dst_delta,
+ size_t map_delta);
+ void RelocateRela(size_t src_addr,
+ size_t dst_addr,
+ size_t map_addr,
+ size_t size);
+ void RelocateRel(size_t src_addr,
+ size_t dst_addr,
+ size_t map_addr,
+ size_t size);
#if defined(__mips__)
bool RelocateMipsGot(const ElfSymbols* symbols,
@@ -72,12 +104,13 @@ class ElfRelocations {
size_t phdr_count_;
size_t load_bias_;
- const ELF::Rel* plt_relocations_;
- size_t plt_relocations_count_;
+ ELF::Addr relocations_type_;
+ ELF::Addr plt_relocations_;
+ size_t plt_relocations_size_;
ELF::Addr* plt_got_;
- const ELF::Rel* relocations_;
- size_t relocations_count_;
+ ELF::Addr relocations_;
+ size_t relocations_size_;
#if defined(__mips__)
// MIPS-specific relocation fields.

Powered by Google App Engine
This is Rietveld 408576698