From a87f68ae9e879360a9624f2a02999e67cfbe5a2f Mon Sep 17 00:00:00 2001 From: Greg Ungerer Date: Fri, 19 Aug 2016 23:49:51 +1000 Subject: [PATCH] elf2flt: fix relocation support for R_ARM_TARGET types R_ARM_TARGET1 (and I think R_ARM_TARGET2) relocation types should be treated in the same way as R_ARM_ABS32. Fix them to write out the addend to the flat binary in network byte order. Signed-off-by: Greg Ungerer --- elf2flt.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/elf2flt.c b/elf2flt.c index 5ae7dd9..3f31569 100644 --- a/elf2flt.c +++ b/elf2flt.c @@ -1505,7 +1505,9 @@ DIS29_RELOCATION: (((*p)->howto->type != R_ARM_PC24) && ((*p)->howto->type != R_ARM_PLT32))) tmp.c[i3] = (hl >> 24) & 0xff; - if ((*p)->howto->type == R_ARM_ABS32) + if (((*p)->howto->type == R_ARM_ABS32) || + ((*p)->howto->type == R_ARM_TARGET1) || + ((*p)->howto->type == R_ARM_TARGET2)) *(uint32_t *)r_mem = htonl(hl); else *(uint32_t *)r_mem = tmp.l; -- 2.39.5