2

每个人。我在为 armv5(arm926ej-s)交叉编译 valgrind 时遇到了一些问题。我可以弄清楚其中的一些,但有一个我无法解决。我会写这些问题:

  1. Valgrind 不支持 armv5 in configure,我改为armv7*)使用armv7*|arm*)它,它运行良好。

  2. -mcpu=cortex-a8不对,因为我有一个 arm926ej-s CPU。所以我使用这个命令在 Makfiles 中全部替换它们:

    sed -i 's/-mcpu=cortex-a8/-mcpu=arm926ej-s/g' `查找. -name“生成文件*”`

  3. 问题来了。movw并且movt在源代码中 armv5 不支持。错误信息是:

m_dispatch/dispatch-arm-linux.S: Assembler messages:
m_dispatch/dispatch-arm-linux.S:122: Error: selected processor does not support `movw r1,#47'
m_dispatch/dispatch-arm-linux.S:123: Error: selected processor does not support `movw r2,#0'
m_dispatch/dispatch-arm-linux.S:175: Error: selected processor does not support `movw   r1,#:lower16:vgPlain_stats__n_xindirs_32'
m_dispatch/dispatch-arm-linux.S:176: Error: selected processor does not support `movt r1,#:upper16:vgPlain_stats__n_xindirs_32'
m_dispatch/dispatch-arm-linux.S:183: Error: selected processor does not support `movw r1,#(((1<<15))-1)'
m_dispatch/dispatch-arm-linux.S:184: Error: selected processor does not support `movw r4,#:lower16:vgPlain_tt_fast'
m_dispatch/dispatch-arm-linux.S:187: Error: selected processor does not support `movt r4,#:upper16:vgPlain_tt_fast'
m_dispatch/dispatch-arm-linux.S:200: Error: selected processor does not support `movw r1,#:lower16:vgPlain_stats__n_xindir_misses_32'
m_dispatch/dispatch-arm-linux.S:201: Error: selected processor does not support `movt r1,#:upper16:vgPlain_stats__n_xindir_misses_32'

我正在考虑代替movwmovtwith mov。但我不熟悉汇编代码。任何人都可以帮忙吗?谢谢!

4

1 回答 1

3

在 valgrind 错误跟踪器中有一些关于错误 248998的补丁,它们试图添加对 armv5 的支持,但我不知道它们有多完整或它们工作得如何。

无论如何,它们可能会为您的工作提供一个很好的起点。

于 2012-12-13T10:32:51.053 回答