« 究極のprintfデバッグ | Main | 卒論提出 »

February 06, 2006

prelink禁止

昨日の「マシンごとにライブラリのバイナリが異なる」件だが、偉大なる先輩が解析してくださった結果、prelinkのせいであるということがわかった。ライブラリの配置アドレスを決めうちしてどっかのテーブルを書き換えると同時に、(-rオプションがついていると)配置アドレスをランダムに決定するらしい。objdump -dすると固定されたアドレスがわかる。バイナリが異なっていたのはこのせい。乗っ取り系コードへの対策のためだろうが、マシンごとにライブラリのバイナリが異なるのは大変困るので、実験用マシンではprelinkは使用しないことになった。

ELFの動的リンクとか、まだまだわかってないことも多いなぁ。再配置の仕組みとか。Linkers and Loadersをちゃんと読むか。

|

« 究極のprintfデバッグ | Main | 卒論提出 »

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/39126/8527545

Listed below are links to weblogs that reference prelink禁止:

« 究極のprintfデバッグ | Main | 卒論提出 »