如何重写ARMv4t上缺少的较新的ARM指令,如CLZNE,PLD等?

时间:2015-09-17 07:48:29

标签: assembly arm

我试图使用gcc工具在ARMv4t平台上构建大型软件。我试图构建的软件包含一些似乎至少针对ARMv5的汇编代码。这会导致汇编代码包含BLXCLZNEPLDVMRSVMSRSMULBBSMLABB等说明,LDREXSTREXSTREXEQ以及ARMv4t不支持的其他人。

这显然会在构建期间导致这样的错误消息:

Error: selected processor does not support ARM mode `[some instruction]'

所以我试图找到这些指令的替代方法,以便以这样的方式重写它们,即它们也可以在ARMv4t上工作。虽然我找到了将BLX arg重写为MOV lr, pc; BL arg的方法(这可行,因为我没有使用Thumb模式,即我使用-marm作为编译器标志)我很遗失其他缺失的指示。

有没有人看到有机会重写给定的指令(最好用宏),以便软件也可以在ARMv4t上构建?如果是的话:怎么样?

0 个答案:

没有答案