55

クロスコンパイルされたarm実行可能ファイルを作成しました。実行可能ファイルのライブラリ依存関係を見つけたい。私はubuntunattyを使用しており、lddを含まないarm-linux-gnueabiツールチェーンをインストールしています。Linuxでarm実行可能ファイルライブラリの依存関係を表示するために利用できるツールはありますか?

4

6 に答える 6

77

これは少し面倒ですが、私が見つけることができる最良の解決策であり、基本的な使用には非常にうまく機能します。このスクリプトを他のクロスツールで「arm-none-linux-gnueabi-ldd」として保存するだけです。

#!/bin/sh
arm-none-linux-gnueabi-readelf -a $1 | grep "Shared library:"
于 2011-07-09T22:20:50.513 に答える
19

objdumpを使用して、バイナリのヘッダー部分をダンプして検索することもできます。これにより、数ミリ秒節約できます...

#!/bin/sh  
arm-none-linux-gnueabi-objdump -x $1 | grep NEEDED
于 2012-07-18T09:11:54.910 に答える
8

ここに別のオプションがあります。LD_TRACE_LOADED_OBJECTS 環境変数を任意の値、たとえば 1 に設定できます。その後、実行可能ファイルを実行するだけで、出力はその動的な依存関係になります。

于 2016-08-24T20:55:16.703 に答える
1

既に述べたように、設計ldd 上、 target でのみ実行できます。lddただし、を使用して動作を模倣することは可能readelfです。というスクリプトxlddがプロジェクトで開発されcrosstool-ngました。このスクリプトの独立したバージョンは、次の場所から入手できます。

https://gist.github.com/jerome-pouiller/c403786c1394f53f44a3b61214489e6f

于 2016-11-17T11:49:00.907 に答える