arm: BL & BLX do not read SP, but PC register. issue reported by Der Rek

_v3_old
Nguyen Anh Quynh 10 years ago
parent 7ca66a4982
commit db684b2398
  1. 8
      arch/ARM/ARMMapping.c

@ -422,19 +422,19 @@ static insn_map insns[] = {
{ {
ARM_BL, ARM_INS_BL, ARM_BL, ARM_INS_BL,
#ifndef CAPSTONE_DIET #ifndef CAPSTONE_DIET
{ ARM_REG_SP, 0 }, { ARM_REG_LR, 0 }, { ARM_GRP_JUMP, ARM_GRP_ARM, 0 }, 0, 0 { ARM_REG_PC, 0 }, { ARM_REG_LR, 0 }, { ARM_GRP_JUMP, ARM_GRP_ARM, 0 }, 0, 0
#endif #endif
}, },
{ {
ARM_BLX, ARM_INS_BLX, ARM_BLX, ARM_INS_BLX,
#ifndef CAPSTONE_DIET #ifndef CAPSTONE_DIET
{ ARM_REG_SP, 0 }, { ARM_REG_LR, 0 }, { ARM_GRP_JUMP, ARM_GRP_ARM, ARM_GRP_V5T, 0 }, 0, 0 { ARM_REG_PC, 0 }, { ARM_REG_LR, 0 }, { ARM_GRP_JUMP, ARM_GRP_ARM, ARM_GRP_V5T, 0 }, 0, 0
#endif #endif
}, },
{ {
ARM_BLX_pred, ARM_INS_BLX, ARM_BLX_pred, ARM_INS_BLX,
#ifndef CAPSTONE_DIET #ifndef CAPSTONE_DIET
{ ARM_REG_SP, 0 }, { ARM_REG_LR, 0 }, { ARM_GRP_JUMP, ARM_GRP_ARM, ARM_GRP_V5T, 0 }, 0, 0 { ARM_REG_PC, 0 }, { ARM_REG_LR, 0 }, { ARM_GRP_JUMP, ARM_GRP_ARM, ARM_GRP_V5T, 0 }, 0, 0
#endif #endif
}, },
{ {
@ -446,7 +446,7 @@ static insn_map insns[] = {
{ {
ARM_BL_pred, ARM_INS_BL, ARM_BL_pred, ARM_INS_BL,
#ifndef CAPSTONE_DIET #ifndef CAPSTONE_DIET
{ ARM_REG_SP, 0 }, { ARM_REG_LR, 0 }, { ARM_GRP_JUMP, ARM_GRP_ARM, 0 }, 0, 0 { ARM_REG_PC, 0 }, { ARM_REG_LR, 0 }, { ARM_GRP_JUMP, ARM_GRP_ARM, 0 }, 0, 0
#endif #endif
}, },
{ {

Loading…
Cancel
Save