diff options
| author | David 'Digit' Turner <digit@google.com> | 2009-12-02 11:17:29 -0800 |
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2009-12-02 11:17:29 -0800 |
| commit | a3de55c83185ba3d1355f20b48ef9ec3fc4c281d (patch) | |
| tree | 646efa88e98233342cc102298b8dcb64606c569d /linker/linker.c | |
| parent | 157cdf42d7e2cded9a4461fd105b98b2db1a13ac (diff) | |
| parent | fe62de1ad036a1417df44b7b1a7c65cc79dc7091 (diff) | |
| download | bionic-a3de55c83185ba3d1355f20b48ef9ec3fc4c281d.zip bionic-a3de55c83185ba3d1355f20b48ef9ec3fc4c281d.tar.gz bionic-a3de55c83185ba3d1355f20b48ef9ec3fc4c281d.tar.bz2 | |
am fe62de1a: Add support for R_ARM_REL32 to the dynamic linker.
Merge commit 'fe62de1ad036a1417df44b7b1a7c65cc79dc7091' into eclair-plus-aosp
* commit 'fe62de1ad036a1417df44b7b1a7c65cc79dc7091':
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 9779290..6d57cbc 100644 --- a/linker/linker.c +++ b/linker/linker.c @@ -1295,6 +1295,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); |
