【问题标题】:Getting error: bad register name `%bpl'出现错误:错误的寄存器名称 `%bpl'
【发布时间】:2014-05-12 21:06:57
【问题描述】:

我正在尝试安装我的项目所需的库 fec-3.0.1。配置后,我收到此错误:

gcc  -g  -02  -I.  -Wall  -march=i686     -c -o viterbi27_port.o viterbi27_port.c
fec.h: Assembler messages:
fec.h267: Error: bad register name '%bpl'
make: *** [viterbi27_port.o] Error 1

实际上,我之前在安装其他一些库的过程中遇到过几次这样的错误。我在 VMware Player 上使用 Ubuntu Linux 作为虚拟机。我该怎么办?

【问题讨论】:

  • 这听起来像是损坏的内联汇编,或错误检测的架构。 bpl 只能在 64 位模式下访问。
  • 谢谢小丑,我会试试的。

标签: linux gcc assembly x86


【解决方案1】:

fec.h 中的内联汇编使用了错误的约束。一种可能的解决方法是:

__asm__ __volatile__ ("test %1,%1;setpo %0" : "=qhm" (x) : "qh" (x));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-25
    • 1970-01-01
    • 2014-01-02
    • 2014-12-08
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    相关资源
    最近更新 更多