为armv5编译Valgrind

时间:2012-12-13 04:46:47

标签: assembly arm valgrind cross-compiling

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

  1. Valgrind不支持configure中的armv5,而armv7*)代替armv7*|arm*)并且效果很好。

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

      

    sed -i's / -mcpu = cortex-a8 / -mcpu = arm926ej-s / g'`find。 -名称   “生成文件*”`

  3. 出现问题。 armv5不支持源代码中的movwmovt。错误消息是:

  4. 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'
    

    我在想{而不是movwmovtmov。但我不熟悉汇编代码。任何人都可以帮忙吗?谢谢!

1 个答案:

答案 0 :(得分:2)

valgrind bug跟踪器中的bug 248998上有一些补丁试图添加对armv5的支持,但我没有它们的完整程度或它们的工作情况。

无论如何,他们可能会为你的工作提供一个良好的起点。