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

This commit is contained in:
Nguyen Anh Quynh 2014-12-27 16:16:12 +08:00
parent 7ca66a4982
commit db684b2398

View File

@ -422,19 +422,19 @@ static insn_map insns[] = {
{
ARM_BL, ARM_INS_BL,
#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
},
{
ARM_BLX, ARM_INS_BLX,
#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
},
{
ARM_BLX_pred, ARM_INS_BLX,
#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
},
{
@ -446,7 +446,7 @@ static insn_map insns[] = {
{
ARM_BL_pred, ARM_INS_BL,
#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
},
{