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

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

Issue 340523003: Support for unpacked ARM packed relocations. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@fork_switch
Patch Set: Update for more review feedback 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 edf2f4bffd01e476f60f8e833c428a5c51c2ab01..1e3502e47ebdca05455b918b0a1b82b447789ffb 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"
@@ -43,6 +44,17 @@ class ElfRelocations {
SymbolResolver* resolver,
Error* error);
+#ifdef __arm__
+ // Register ARM packed relocations to apply.
+ // |arm_packed_relocs| is a pointer to packed relocations data.
+ void RegisterArmPackedRelocs(uint8_t* arm_packed_relocs);
+
+ // Apply ARM packed relocations.
+ // On error, return false and set |error| message. No-op if no packed
+ // relocations were registered.
+ bool ApplyArmPackedRelocs(Error* error);
rmcilroy 2014/06/24 09:47:22 nit - make this private
simonb (inactive) 2014/06/24 11:43:55 Done.
+#endif
+
// This function is used to adjust relocated addresses in a copy of an
// existing section of an ELF binary. I.e. |src_addr|...|src_addr + size|
// must be inside the mapped ELF binary, this function will first copy its
@@ -119,6 +131,10 @@ class ElfRelocations {
ELF::Word mips_gotsym_;
#endif
+#if defined(__arm__)
+ uint8_t* arm_packed_relocs_;
+#endif
+
bool has_text_relocations_;
bool has_symbolic_;
};

Powered by Google App Engine
This is Rietveld 408576698