加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 如何阻止gcc在较新的ARM cpu上发出swap {b}?

发布时间:2020-12-16 07:10:56 所属栏目:百科 来源:网络整理
导读:我在Raspberry Pi 2上编译 DCP-O-Matic并收到以下警告: /tmp/ccu6rDcg.s: Assembler messages:/tmp/ccu6rDcg.s:4208: Warning: swp{b} use is deprecated for ARMv6 and ARMv7 我已将“-mcpu = cortex-a8 -mfpu = neon”传递给编译器,但我仍然收到警告.我很
我在Raspberry Pi 2上编译 DCP-O-Matic并收到以下警告:

/tmp/ccu6rDcg.s: Assembler messages:
/tmp/ccu6rDcg.s:4208: Warning: swp{b} use is deprecated for ARMv6 and ARMv7

我已将“-mcpu = cortex-a8 -mfpu = neon”传递给编译器,但我仍然收到警告.我很确定Linux内核中有一些东西会使这个警告无关紧要,但我真的想解决这个问题.

这个post有很多很好的信息,但我似乎找不到合适的开关来防止警告.我已经验证了使用swp {b}没有明确的汇编程序代码.

任何人都可以推荐清除这些警告的最佳方法吗?我真的很喜欢编译警告. ;)我想如果有警告,那就有一个修复.

为了澄清,我对如何让gcc工具链发出正确的LDREX / STREX指令感兴趣,而不是交换{b}.

解决方法

您可以使用-mno-warn-deprecated禁用警告.快速的源代码grep似乎没有显示内联asm的使用,所以它可能在某个库的头文件中.

顺便说一句,Raspberry Pi 2使用Cortex-A7处理器,如果用-mcpu = cortex-a7而不是-mcpu = cortex-a8构建,你应该会获得更好的性能.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读