From 207aef06fca1553dc555eda58d8fe7220390c1d4 Mon Sep 17 00:00:00 2001 From: Nick Shipp Date: Tue, 1 Jul 2025 13:55:22 -0400 Subject: [armv7] Add support for R_ARM_PC24 relocation --- arch/armv7/arch_armv7.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/arch/armv7/arch_armv7.cpp b/arch/armv7/arch_armv7.cpp index e30ecf78..c422d7f0 100644 --- a/arch/armv7/arch_armv7.cpp +++ b/arch/armv7/arch_armv7.cpp @@ -2362,6 +2362,7 @@ public: dest32[0] = (info.implicitAddend ? dest32[0] : (uint32_t)info.addend) + (target & ~1) - (uint32_t)reloc->GetAddress(); break; } + case R_ARM_PC24: case R_ARM_JUMP24: { if (target & 1) @@ -2553,8 +2554,14 @@ public: break; case R_ARM_TLS_DTPOFF32: break; - case R_ARM_SBREL31: case R_ARM_PC24: + reloc.pcRelative = true; + reloc.baseRelative = false; + reloc.hasSign = false; + reloc.size = 3; + reloc.truncateSize = 3; + break; + case R_ARM_SBREL31: case R_ARM_LDR_PC_G0: case R_ARM_ABS16: case R_ARM_ABS12: -- cgit v1.3.1