diff options
author | David 'Digit' Turner <digit@google.com> | 2009-11-17 16:16:52 -0800 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2009-11-17 16:16:52 -0800 |
commit | 83d3d7491a2d3870efd8d5be9281ee942f5fad07 (patch) | |
tree | 9a82b536c53a2d45e6f23aa827b3bd1822cc502b /linker/linker.c | |
parent | 0493b61c1a23cbcf0edb4667ff84ab0152327cb2 (diff) | |
parent | ebf3ea006e5367fff93d2491eec24c4b1a633805 (diff) | |
download | bionic-83d3d7491a2d3870efd8d5be9281ee942f5fad07.zip bionic-83d3d7491a2d3870efd8d5be9281ee942f5fad07.tar.gz bionic-83d3d7491a2d3870efd8d5be9281ee942f5fad07.tar.bz2 |
am ebf3ea00: am 34ea5117: Add support for R_ARM_REL32 to the dynamic linker.
Merge commit 'ebf3ea006e5367fff93d2491eec24c4b1a633805'
* commit 'ebf3ea006e5367fff93d2491eec24c4b1a633805':
Add support for R_ARM_REL32 to the dynamic linker.
Diffstat (limited to 'linker/linker.c')
-rw-r--r-- | linker/linker.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/linker/linker.c b/linker/linker.c index 1c2a28c..d61d0d7 100644 --- a/linker/linker.c +++ b/linker/linker.c @@ -1336,6 +1336,13 @@ static int reloc_library(soinfo *si, Elf32_Rel *rel, unsigned count) reloc, sym_addr, sym_name); *((unsigned*)reloc) += sym_addr; break; + case R_ARM_REL32: + COUNT_RELOC(RELOC_RELATIVE); + MARK(rel->r_offset); + TRACE_TYPE(RELO, "%5d RELO REL32 %08x <- %08x - %08x %s\n", pid, + reloc, sym_addr, rel->r_offset, sym_name); + *((unsigned*)reloc) += sym_addr - rel->r_offset; + break; #elif defined(ANDROID_X86_LINKER) case R_386_JUMP_SLOT: COUNT_RELOC(RELOC_ABSOLUTE); |