4

为我的项目编译某些 cpp 文件时,我收到这样的警告

Compile++ arm    : MYAPP <= myfile.cpp
/tmp/cc53K5MQ.s: Assembler messages:
/tmp/cc53K5MQ.s:887: Warning: swp{b} use is deprecated for this architecture

但是,此警告中没有给出任何行号,所以我不知道在哪里看。

你知道我为什么会收到这个警告吗?

4

2 回答 2

6

swp{b}指令在 ARMv6 及更高版本中已弃用。更糟糕的是,它在 ARMv7 中根本不受支持并且在 Linux 内核中的非法指令陷阱中被修复 - 需要一些运行时成本。您的编译器绝对不应该生成它。

我在 CodeSourcery 编译器中也看到过这个问题。代码生成器阶段发出swp{b}指令,但汇编器非常清楚您的目标体系结构不支持它们。这反而意味着您在命令行上指定了正确的目标体系结构。

我通过升级到新版本的 GCC 解决了这个问题。

于 2012-11-28T11:04:00.177 回答
1

Use --save-temps to have GCC not delete the generated files.

于 2012-11-27T12:36:00.410 回答