問題:無法在ARM中運行Valgrind二進制文件。Valgrind ARM二進制文件在ARM926EJ中不起作用,因爲找不到錯誤
我Cross在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圖像此架構,因爲我建立它的手臂而在Linux上運行它應該像這樣抱怨,但事實並非如此。
想知道配置標誌和ARCH嗎?