Skip to content

Commit 207aef0

Browse files
nshpzznop
authored andcommitted
[armv7] Add support for R_ARM_PC24 relocation
1 parent 00566fc commit 207aef0

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

arch/armv7/arch_armv7.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2362,6 +2362,7 @@ class ArmElfRelocationHandler: public RelocationHandler
23622362
dest32[0] = (info.implicitAddend ? dest32[0] : (uint32_t)info.addend) + (target & ~1) - (uint32_t)reloc->GetAddress();
23632363
break;
23642364
}
2365+
case R_ARM_PC24:
23652366
case R_ARM_JUMP24:
23662367
{
23672368
if (target & 1)
@@ -2553,8 +2554,14 @@ class ArmElfRelocationHandler: public RelocationHandler
25532554
break;
25542555
case R_ARM_TLS_DTPOFF32:
25552556
break;
2556-
case R_ARM_SBREL31:
25572557
case R_ARM_PC24:
2558+
reloc.pcRelative = true;
2559+
reloc.baseRelative = false;
2560+
reloc.hasSign = false;
2561+
reloc.size = 3;
2562+
reloc.truncateSize = 3;
2563+
break;
2564+
case R_ARM_SBREL31:
25582565
case R_ARM_LDR_PC_G0:
25592566
case R_ARM_ABS16:
25602567
case R_ARM_ABS12:

0 commit comments

Comments
 (0)