[CRIU] [PATCH 3/4] compel/handle-elf.c: handle R_PPC64_REL32

Kir Kolyshkin kir at openvz.org
Tue Oct 25 22:08:31 PDT 2016


When compiled with clang-3.8 on ppc, compel complains:

>   GEN      criu/pie/parasite-native-blob.h
> parasite_native_blob: Error (compel/src/lib/handle-elf-host.c:541):
> Unsupported relocation of type 26

Look into R_PPC64_REL64/R_PPC64_ADDR64 and handle 32-bit the same way.

Cc: Laurent Dufour <ldufour at linux.vnet.ibm.com>
Signed-off-by: Kir Kolyshkin <kir at openvz.org>
---
 compel/src/lib/handle-elf.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/compel/src/lib/handle-elf.c b/compel/src/lib/handle-elf.c
index 32759fe..c6b7874 100644
--- a/compel/src/lib/handle-elf.c
+++ b/compel/src/lib/handle-elf.c
@@ -415,6 +415,7 @@ int __handle_elf(void *mem, size_t size)
 				break;
 
 			case R_PPC64_ADDR32:
+			case R_PPC64_REL32:
 				pr_debug("\t\t\tR_PPC64_ADDR32 at 0x%-4lx val 0x%x\n",
 					 place, (unsigned int)(value32 + addend32));
 				pr_out("	{ .offset = 0x%-8x, .type = COMPEL_TYPE_INT, "
-- 
2.7.4



More information about the CRIU mailing list