2009-09-15 12 views
2

HP-UXを使用する場合、chatrユーティリティを使用して、共有ライブラリのさまざまな内部属性を報告できます。また、私が構築した共有ライブラリの内部属性を変更することもできます。共有オブジェクトの内部属性を確認するにはどうすればよいですか?

のchatrユーティリティが報告し、場合によっては変更することができ、のようなもの:

  1. 実行時の結合挙動、
  2. ビルド時に作成された組み込みライブラリパスリスト、
  3. かライブラリは
  4. 内部名、
  5. などなど
、ランタイムへのパス検索を対象と

このようなユーティリティはSolarisで利用できますか?

編集: Freaky!以下のmark4oの回答のおかげで、私は典型的なシステムの.so(sol 10のlibm.so.2)のelfdumpの出力を再訪しました。しかし、ここで気紛れ一部だ、私が入力するコマンドをタイプミス:

:セレンディピティの素晴らしいストロークで

elfdump libm.so.2 | moe 

、これは男のページ記述セクションが言う萌えと呼ばれるユーティリティの使用方法のメッセージを私に返しました

moeユーティリティは、予約された実行時リンカートークンを含むパス名を最適に展開します。これらのトークンは、動的オブジェクト内の依存関係、フィルティー、および実行パスを定義するために使用できます。実行時にこれらのトークンを展開することにより、このマシン上で最高のパフォーマンスを発揮するオブジェクトと検索パスを選択する柔軟なメカニズムが提供されます。

これは、2つの異なるマシンの両方でlibm.so.2 shlibが互換性がない理由を解決するのに役立ちます。これは、不完全な実行可能ファイルを1つのサーバーで起動できない状態にします。

答えて

2

情報を表示するには、Solaris elfdumpおよびpvsユーティリティを参照してください。バインディングの問題をデバッグする場合は、larimoeも役立ちます。ただし、これらのユーティリティにはライブラリを変更する機能はありません。

+0

mark4o、元気ですが、elfdumpは私が何をしているのか正確にはわかりません。しかし、与えられたシステムのためにelfdumpの出力を見直してみると、本当に便利なユーティリティが得られました。私は元の質問を編集します。 –

+0

@ mark4o、pvsへのポインタありがとう! +1( - : –

+0

もちろん、「lari」と「moe」の兄弟は[crle]です(http://docs.oracle.com/cd/E23824_01/html/821-1461/crle-1)。 html#scrolltoc)システムのデフォルトの実行パスを扱うためのユーティリティ – alanc

2

Solaris 11(およびSolaris 10リリース以降のOpenSolaris &の一部)では、ランタイムパスや類似の属性を変更するためのelfedit toolが追加されました。

+0

Oracleがリンクしたリンク(Oracleにリンクされている投稿など) btw) – mark4o

+0

リンクの破損は厄介です。その投稿では、[elfedit(1)manpage](http://docs.oracle.com/cd/E23824_01/html/821-1461/)を見ることができます。 elfedit-1.html#scrolltoc)をSolaris 11のマニュアルページから削除し、他のリンクのblogs.sun.comの代わりにblogs.oracle.comを使用します。 – alanc

関連する問題