昼間からラーメンを食べにいった。
というか、昼寝しすぎて起きたら19:00って...
寝すぎの土曜日であった。
gnu以下のsourceを徐々に増やすが、結局同様のエラー。
gccが結局ポイントなんですね。
生活リズムが...
まぁ、ゆっくり寝るのも良いでしょう。
散歩がてら近くの本屋に。そのご、なぜかゲームセンターへ。
OutRun2で曲名選択を失敗してSplash Waveに。Magical Sound Showerにしたかったのにな。
やっと一通りのビデオを作り終えた。こういう作業はCPUとメモリが効いてきますね。
もうすこしメモリは足したほうが良さそうだ。
以前は速いCPUには興味がなかったけれど、最近はすこし興味がでてきた。でも、高いですね。同クロックでCeleronとPentium4では倍ぐらいの価格差があるなんて。
寂しくしてはいけません。
やっと見た。うーむ。すごいですな。
このcommitがあれなわけだ。
Module Name: src Committed By: skrll Date: Sun Feb 15 19:52:27 UTC 2004 Modified Files: src: Makefile src/distrib/sets/lists/comp: gcc.shl src/gnu/dist/gcc/gcc: gcc.c src/gnu/dist/gcc/gcc/config: netbsd.h src/gnu/lib/libgcc3: Makefile src/gnu/lib/libobjc3: Makefile src/gnu/usr.bin/gcc3: Makefile.inc src/share/mk: bsd.lib.mk bsd.prog.mk src/tools: Makefile.gnuhost src/tools/gcc: Makefile Added Files: src/gnu/lib/libgcc3: Makefile.inc src/gnu/lib/libgcc3/libgcc: Makefile src/gnu/lib/libgcc3/libgcc_eh: Makefile src/gnu/lib/libgcc3/libgcc_s: Makefile Log Message: Be more gcc like in the way we deal with libgcc so that sh3/hppa millicode and exception handling have a chance of working properly. - creates libgcc, libgcc_eh and libgcc_s - updates LIBGCC_SPEC to use them appropriately. There's a hack in here at the moment with respect to libgcc_so in that it is preferable to link against libgcc_so will only when -shared-libgcc is specified (the c++ frontend does this automatically.) Configurations where LINK_EH_SPEC is defined already do this. The gcc configuration for NetBSD/alpha and another NetBSD platform (I forget which) actually define LINK_EH_SPEC probably by accident rather than design. - updates share/mk to use the compiler's knowledge of what needs linking into libraries and executables. This removes an hppa hack. - updates the sets for the newly created libgcc* files. - support for linking against the _pg version of libgcc has been removed.
朝も夜も。
やっぱり明るいうちに帰ると時間がたっぷりありますね。
一時間ほど速いペースで一日が進む感じだった。
で、さくっと寝てしまったのでありました。
電車か自転車でやる気が違うらしい。
TNFのGCCだとkernelが作れない、nandraのGCCだと途中でこける。という状況であきらめていたので、もうすこし粘ってみる。
とりあえず、kernelが作れないところから調査を始め、どうやら__sigreturn14.Sおよびそれを使っている__sigtramp1.SをTNFのものにしてやれば動きそうな気配。
本当は__sigreturn14.Sと__sigtramp1.Sだけでよさそうだけど、libc/arch/powerpc/sys以下の差分を見るとsysまるごとTNFに置き換えても良さそうな気がしたので、そうしてTNFのGCCでkernelをcompileすることができた。
よーし、release作るかと思ったら別のところで止まる。良く見るとmacppcの差分が新しすぎて駄目のようだった 。
うーん、と思ってnandraをのぞいてみると{macppc,mpc860}-040612.tar.gzがあるじゃないですか。
さっきと同じところを手直ししてreleaseしてみている。うまくいくといいな。さらに、うまく動いてくれるといいな。
朝の時間帯がやや早まってきた。
夏にむけて着替えなどが楽になっているからかな。
昨日の日記は大嘘を書いてしまった。
libc/arch/powerpc/sysのTNF化はおそらく不要。
とりあえず、distribのあたりまできて多少止まったりしたものの、それなりに進んでいるな。
あとは、例のごとくcheckflistあたりかな。
とりあえず、release完走したよ。ひさしぶりだね。
で、bootp+NFSで起動してみたらinitの起動でsignal 11。
どっかで見たような気がするけど、気のせいかな。
とりあえず、TNFをできるだけ進めない方向でbuildしてみることにしよう。
うまいよね。
この年になってハマるとは思いもよらなかったなぁ。100円菓子コーナーに感謝せねば。
東京ディズニーランドにいってきた。
gnu/dist/gcc/gccだけをTNFにした版でreleaseしたものを試す。
signal 11...
ふーむ。繊細なんだなぁ。
地下鉄博物館にいってきた。
バスに乗ったけど、思っていたのとは違う対応を見せた。
gnu/dist/gcc/gcc/toplev.h, gnu/dist/gcc/gcc/rs6000/netbsd.h, gnu/dist/gcc/gcc/rs6000/t-netbsdをnandra版にしてbuildした。
_Unwind_GetIPなエラーでreleaseできません。
うむ。
午前中、勢いで秋葉まで行ってきた。
めちゃくちゃ暑く、汗だくになってしまったよ。
BSD MagazineとEmacsらくらく入門を買った。Emacs本はサインをお願いしようっと。
あとPC2700 512Mbytesのメモリをツクモで購入。
CFD Memory, D2PC333CL25-512M, 7,959円, ツクモパソコン本店
さっそく自宅のマシンに増設。問題なく使えているようだ。
signal 11と_Unwind_GetIPのどちらかになってしまう現象のつづき。
gcc/gcc/config/rs6000/t-netbsdというファイルがTNFならsignal 11、そうでなければ_Unwind_GetIPになるようだ。
gcc/gcc/config/rs6000/t-netbsdというファイルの差分を見ると主に四つの点で異なるようだ。
最初はEXTRA_MULTIが怪しいかと思い、部分的にパッチをあててみたが影響無しという結果に。
次に、SHLIB_LINKを試してみるとビンゴでしたよ。
ということで、SHLIB_LINKがsignal 11と_Unwind_GetIPの鍵を握るらしい。
SHLIB_LINKの記述はgcc/gcc/config/t-slibgcc-elf-ver, t-slibgcc-sldで記述されており、gcc/gcc/Makefile.in, mklibgcc.inで参照されている模様。
さて、ここまで来て対策は? ということになるわけですが...
手に負えないっすねこりゃ。
userlandはsignal 11なのですがkernelはちゃんと動くのか試していなかったので、20040215なuserland+20040612なkernelで起動してみました。
とりあえず動いている模様。
メールはこちらへ...[BSD小僧 (tokuda @(at) tokuda .(dot) net)]
この日記は、GNSを使用して作成されています。