Valgrind ARM 二进制文件在 ARM926EJ 中不工作,给出错误未找到

Valgrind ARM binary not working in ARM926EJ, giving error as not found

问题:无法 运行 ARM 中的 Valgrind 二进制文件。


我在 Linux 主机上成功交叉编译了 Valgrind-3-13-0。我将二进制文件移至我的 ARM 目标。我 运行 手臂上的 Valgrind 它说 not found.

交叉编译步骤

在构建过程中,我戳了配置文件,将armv7更改为arm

./configure --host=arm-none-linux-gnueabi --prefix=/home/my_dir

我也试过这个选项

 ./configure --target=arm-none-linux-gnueabi --host=arm-none-linux-gnueabi --prefix=/my_dir

然后 make 和 make install。

我看到 Valgrind 位于我的根文件系统中 /usr/bin,想知道为什么找不到它。


这是 Valgrind 交叉编译的最终输出。下面是我的安装目录树。

target_val/
├── bin
├── include
│   └── valgrind
│       └── vki
├── lib
│   ├── pkgconfig
│   └── valgrind
└── share
    ├── doc
    │   └── valgrind
    │       └── html
    │           └── images
    └── man
        └── man1

我实际上只从 /bin 目录复制了五个文件到我的目标 /usr/bin

callgrind_annotate
callgrind_control
valgrind
valgrind-di-server
valgrind-listener

问题。

我是否还需要复制整个 lib 目录?

我尝试运行主机中的交叉编译二进制文件

usr:~/Desktop/ ./valgrind --version
/lib/ld-linux.so.3: No such file or directory

我期望它会像这个架构的无效 ELF 图像这样抱怨,因为我为 arm 构建它并 运行在 Linux 上安装它它应该像这样抱怨,但它没有' t.

想了解配置标志和 ARCH?

我在 Whosebug 中发布问题后,五分钟内就找到了答案。


Valgrind 支持可从 armv7 获得。


实际上我的硬件不支持 Valgrind,我只是对 Amr7 和 Armv7 不一样感到困惑。它与 ARM9E 相同,但与 AMRv9 不同。我的错。

我附上 arm architecture page 以供参考。