質問

私はelfdumpコマンドのクローンに取り組んでいます。

すべての実行可能ファイルでelfdump -ecps *file*を実行しているときに

私のプログラムが正常に動作します。私はライブラリファイルに私のプログラムを実行するときしかし、libc.so、それはの.symtabセクション(特に、彼らはすべてゼロである)内のすべてのシンボルの誤ったバージョン番号を出力しますと言います。私は時代の文書トン以上見てきたが、私はこれが起こっている理由を理解することはできません。

誰かがいくつかのヒントを提供していただけますか?または、おそらくどのようにそのライブラリまたはないので、私は可能性だけでハードコードするかどうかを0に?

を検出します
役に立ちましたか?

解決

あなたは共有ライブラリと実行している場合は、e_typeフィールドがET_DYNあるかどうかをチェックすることによって決定することができ、私は信じています。 (男性のELF(5))

ウルリック・ドレパーによって記事ではカバーすることがありますELFでトリックをバージョン管理シンボルあたりのglibc。おそらく、あなたが前に遭遇していませんでしたが、追加情報があります。 Linuxのmanページには、ELFドキュメント内あたりのシンボルバージョン情報をカバーするためには表示されません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top