elf_parser: fix PLT functions support for ARM 59/157659/2
authorVyacheslav Cherkashin <v.cherkashin@samsung.com>
Mon, 6 Mar 2017 11:48:14 +0000 (14:48 +0300)
committerVyacheslav Cherkashin <v.cherkashin@samsung.com>
Fri, 27 Oct 2017 13:03:47 +0000 (16:03 +0300)
Change-Id: Icaa4da3c3d75254d8ec880ab8ab3742cf054ffaa
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
elf_parsing/elf_impl.cpp
elf_parsing/prebuild/libparserelf_x86.so
elf_parsing/prebuild/libparserelf_x86_64.so

index f50849a..c3f0267 100644 (file)
@@ -96,7 +96,7 @@ static void ARM_gotPltToPltFill(const char *elf, size_t size, uint64_t addr[], s
 
     const Elf32_Shdr *shdrPlt = Elf32::sectionByName(elf, size, ".plt");
     const uint32_t *inst = reinterpret_cast<const uint32_t *>(elf + shdrPlt->sh_offset);
-    const size_t instCnt = shdrPlt->sh_size / shdrPlt->sh_entsize;
+    const size_t instCnt = shdrPlt->sh_size / 4;
     RelocMap relocMap;
 
     for (size_t i = 0; i < (instCnt - 2); ++i) {
index 6707469..93fb5fd 100755 (executable)
Binary files a/elf_parsing/prebuild/libparserelf_x86.so and b/elf_parsing/prebuild/libparserelf_x86.so differ
index e7fb378..71e4b7c 100755 (executable)
Binary files a/elf_parsing/prebuild/libparserelf_x86_64.so and b/elf_parsing/prebuild/libparserelf_x86_64.so differ