HP-UX General
1820881 メンバー
3629 オンライン
109628 解決策
新規ポスト

コンパイル時のオブジェクトの差分について

 
t_hiro
アドバイザー

コンパイル時のオブジェクトの差分について

いつもお世話になります。

Cでコンパイルしたモジュールついて質問させてください。



<環境>

マシン:C8000 Workstation

OS:HP-UX11i

Xウィンドウ有り

CDE環境なし



上記環境を持つマシンが2台有り、それぞれのマシンで同じC言語のソースをコンパイル、リンクし、モジュールを作成しました。

そのモジュールを、片方の環境マシンにftp転送し、そのマシンでバイナリのコンペアをとったところ、以下のような差分が出てしまいました。

3131 2e31 3800 0000 *11.18...*

*........*

0000 0000 45b4 4e03 *....E.N.*

6a 3077 *.....j0w*

0000 0039 4841 5348 *...9HASH

*........

2031 2e30 206f 5132 *.1.0.oQ2*

68 3941 *.....h9A*

 ̄ ̄

4a72 5779 4a53 6943 *JrWyJSiC*

5670 5570 4542 4474 *VpUpEBDt*

 ̄ ̄ ̄ ̄

5579 5771 6276 3861 *UyWqbv8a*

4b53 2b43 664e 7a68 *KS.CfNzh*

 ̄ ̄ ̄ ̄

6845 5365 3453 7748 *hESe4SwH*

4875 6e33 5632 314f *Hun3V21O*

 ̄ ̄ ̄ ̄

6b53 5472 4f48 784c *kSTrOHxL*

4159 7556 5130 2b33 *AYuVQ0.3*

 ̄ ̄ ̄ ̄

4e7a 5667 7176 434c *NzVgqvCL*

4d62 785a 4658 367a *MbxZFX6z*

 ̄ ̄ ̄ ̄

6b56 4837 5900 0000 *kVH7Y...*

5067 6167 75 *Pgagu...*

 ̄ ̄ ̄

0000 0000 45b4 4dde *....E.M洳*

6a 3045 *.....j0E.*

0000 0000 42dd e8d7 *...B...*

455d 425a *...E.BZ*

コンパイル時間の部分に差分が出ることは判っているのですが、その他の部分(下線部)の差分がどうして出るのか判りません。



どなたか同じような経験をされた方がいましたら回答お願いします。

2件の返信2
oops
貴重なコントリビューター

コンパイル時のオブジェクトの差分について

バイナリを直接見られてるってすごいですね。

コンパイルユニットには、時間の他に、コンパイラの名前やバージョン、コンパイルしたディレクトリの情報等も入りますので、バイナリにはそれなりに差分が出ます。

SOM(PA-RISC の 32bit バイナリ)とELF(PA-RISC の 64bit、または IPF のバイナリ)という2種類の形式のバイナリがあり、それぞれでコマンドは異なりますが、コンパイルユニットをテキスト表示させて確認することができますので、その結果を比較されてみてはいかがでしょうか?

SOM の場合は $ odump -compunit

ELF の場合は $ elfdump -dc

t_hiro
アドバイザー

コンパイル時のオブジェクトの差分について

回答ありがとうございました。

参考にさせて頂きます。