summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/armv7/arch_armv7.cpp9
1 files changed, 8 insertions, 1 deletions
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: