@ltoffまたしても自分用備忘録。dataは小さいサイズのデータだけに使う。table)そのもの。興味深いことを語っている。曰く、「若干の核廃棄物を熱帯雨林の中に置いておけば、人が近付かなくなるので、熱帯雨林の自然も復活するのではないか」だそうだ。何回やっても忘れるシリーズ@ITの記事http://www.atmarkit.co.jp/flinux/rensai/linuxtips/522rpmcpio.htmlをみるとよい。ID:???>>659ソース貼れ。2006俺ってなんてイタリアンな漢なんだろうのっけからアホタイトルをつけてみたが、今回のおもろリファラをご紹介。ふつーのぐぐる様からのお客さんなんだけどね。こんなのhttp://www.google.it/search?q=centos%20vmx&start=0&ie=utf-8&hl=it&oe=utf-8&client=firefox-a&rls=org.mozilla:it:officialってイタリアですかい。translationで翻訳した形跡が・・・http://translate.google.com/translate?hl=en&sl=ja&u=http://mkosaki.blog46.fc2.com/&prev=/search%3Fq%3D%25E9%259D%25A9%25E5%2591%25BD%25E3%2581%25AE%25E6%2597%25A5%2B%26hl%3Den%26lr%3D%26sa%3DG僕のサイトのページランクって0なんだけどな。ぐぐる様のランキングの基準ってわからんわぁぁ(n'ω'`)てか、イタリア人に日本語サイト1位でみせちゃダメだろうwwwP.Sなにげに、ぐぐる様は翻訳センスも最高。何回もソース読んだはずなのにすぐ忘れてしまう。25タイプの所に注目。通常のET_EXE(実行可能ファイル)ではなくET_DYN(共有オブジェクトファイル)になっている。共有オブジェクトファイルってのは要するに共有ライブらりと同じタイプだ。カーネルからは共有ライブラリとして見えていて、ランタイムリンカー(ld.so)で細工をしているということを意味する。実はLinuxにおいて、実行ファイルと共有ライブラリの違いは恐ろしく少ない。共有ライブラリが通常エントリポイントをもたず実行可能でないのは、あくまで使い方の習慣に過ぎない。see:<http://www.gnu.org/software/libc/bugs.html>.などというメッセージを出力してくれる。flagをONにするぐらいしか配慮の違いをしていない。#おいら、今回の件について調べるまでなんでET_EXEかどうかをチェックするのか#思いつかなかったよ。#ちょっと反省というわけで、あんまり調べてないがPIEとは・PICと違い、自分の再配置に必要な情報だけが入っている(とinfoには書いてあるな)・エントリポイントを持った共有ライブラリがその正体であると結論付けることができました。メデタシメデタシ・・・・と終わると綺麗なのだが、このブログっぽいアホさが足りないので蛇足っぽく続けてみる。そのようなファイルやディレクトリはありませんというつれないお返事をいただき、実行できません。埋め込まれていました。むむ、-staticは本来interpセクションを生成しないはずだけど、ここでは-pieが勝ってしまって生成されてしまった。gccのinterpセクションのデフォルトがlibc.so.1なのに、最近のディストリじゃんなファイルは存在しない。いう事になっているのが原因かと思います。0これでメデタク(?)毎回違うアドレスで死んでくれる実行ファイルができました。ああ、死ぬのはええんよ。毎回違うアドレスにマップされるのに、再配置不可能なんだから、そら死ぬやろ。catchsegvでメッセージが出るという事は.ctorの初期化は走っているということで.ctorが動いたという事はランタイムリンカーの仕事は無事完了して実行ファイルのスタートアップコードに到達したという事だからOKOKですよ。P.S.恒例の今回見つけたバグまたはuglyな仕様コーナーと、いうわけで、普通やらないコーナーケースに備えてexecシステムコールで実行ファイルがET_DYNでもノーチェックでランタイムリンカーへ処理が移っちゃうのですが(この時点で親プロセスからはexec成功に見える)これはエントリポイントが見つからないときは、exec成功させずにENOEXECぐらいを返すべきだと思いますね。「Amazonライブリンク」は提供を終了しました。