| 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 edf2f4bffd01e476f60f8e833c428a5c51c2ab01..298fb8059f87f0ab89b86771c02c83b159de7036 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
|
| @@ -6,6 +6,7 @@
|
| #define CRAZY_LINKER_ELF_RELOCATIONS_H
|
|
|
| #include <string.h>
|
| +#include <unistd.h>
|
|
|
| #include "elf_traits.h"
|
|
|
| @@ -41,6 +42,7 @@ class ElfRelocations {
|
| // On error, return false and set |error| message.
|
| bool ApplyAll(const ElfSymbols* symbols,
|
| SymbolResolver* resolver,
|
| + const char* full_path,
|
| Error* error);
|
|
|
| // This function is used to adjust relocated addresses in a copy of an
|
| @@ -94,6 +96,11 @@ class ElfRelocations {
|
| size_t map_addr,
|
| size_t size);
|
|
|
| +#if defined(__arm__)
|
| + bool ApplyArmPackedRelocs(const char* full_path,
|
| + Error* error);
|
| +#endif
|
| +
|
| #if defined(__mips__)
|
| bool RelocateMipsGot(const ElfSymbols* symbols,
|
| SymbolResolver* resolver,
|
| @@ -112,6 +119,12 @@ class ElfRelocations {
|
| ELF::Addr relocations_;
|
| size_t relocations_size_;
|
|
|
| +#if defined(__arm__)
|
| + // ARM-specific data, supports decoding packed relocations.
|
| + off_t arm_packed_relocations_;
|
| + size_t arm_packed_relocations_size_;
|
| +#endif
|
| +
|
| #if defined(__mips__)
|
| // MIPS-specific relocation fields.
|
| ELF::Word mips_symtab_count_;
|
|
|