[yocto] [prelink-cross][PATCH 2/2] src/arch-aarch64.c:testsuite failure fixes in aarch64

Maninder Singh maninder1.s at samsung.com
Thu Nov 26 00:01:20 PST 2015


This patch fixes testsuite failure in aarch64 prelink undo section.

Signed-off-by: Vaneet Narang <v.narang at samsung.com>
Signed-off-by: Maninder Singh <maninder1.s at samsung.com>
---
 src/arch-aarch64.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/arch-aarch64.c b/src/arch-aarch64.c
index e04dd6e..3e5ddd1 100644
--- a/src/arch-aarch64.c
+++ b/src/arch-aarch64.c
@@ -470,7 +470,9 @@ aarch64_undo_prelink_rela (DSO *dso, GElf_Rela *rela, GElf_Addr relaaddr)
   switch (GELF_R_TYPE (rela->r_info))
     {
     case R_AARCH64_NONE:
+ 	break;	
     case R_AARCH64_RELATIVE:
+	write_ne64 (dso, rela->r_offset, 0);
       break;
     case R_AARCH64_JUMP_SLOT:
       sec = addr_to_sec (dso, rela->r_offset);
@@ -487,9 +489,7 @@ aarch64_undo_prelink_rela (DSO *dso, GElf_Rela *rela, GElf_Addr relaaddr)
 
 	  assert (rela->r_offset >= dso->shdr[sec].sh_addr + 24);
 	  assert (((rela->r_offset - dso->shdr[sec].sh_addr) & 7) == 0);
-	  write_neclass (dso, rela->r_offset,
-		      2 * (rela->r_offset - dso->shdr[sec].sh_addr - 24)
-		      + data);
+	  write_neclass (dso, rela->r_offset, data);
 	}
       break;
     case R_AARCH64_GLOB_DAT:
@@ -501,6 +501,7 @@ aarch64_undo_prelink_rela (DSO *dso, GElf_Rela *rela, GElf_Addr relaaddr)
       write_ne64 (dso, rela->r_offset, 0);
       break;
     case R_AARCH64_TLS_TPREL:
+      write_ne64 (dso, rela->r_offset, 0);
       break;
     case R_AARCH64_TLSDESC:
       write_ne64 (dso, rela->r_offset, 0);
-- 
1.7.1




More information about the yocto mailing list