o timer ハンドラが呼ばれるのが早すぎて落ちるのと、 ret,n のビットパタンが変わっていたのを直したが、やっぱり core るなあ。
-O2 を外して追いかける。うーん、32bit 値をポインタにキャストしているなあ。 target_phys_addr_t って名前の型なのにホストのポインタ値を入れてるのはどうしたもんか…。 これは設定でなんとかなるのか。
o PA-RISC だと関数へのポインタは function descriptor へのポインタなのかー。 そのアドレスにブランチしちゃだめなのね。
o やっとコードが生成できるようになったが、そこにジャンプすると即 SIGSEGV。 ページが実行可能になっていない?
mprotect(2) で PROT_EXEC 付けてるのになあ、と思ったら mprotect(2) が EACCES になっていた。 むう、HP-UX の mprotect(2) は mmap(2) で取得した領域以外はエラーなのかな。
mmap(2) を使うように書き直しても実行できない…。おやすみ…。
o 本日の PA-RISC (wide mode)。 bv (branch vectored)ではコード生成バッファと行き来できなくて bve (branch vectored external)でないとだめらしい。 何が違うんだ…。
あと、なぜかページの先頭から実行できない。 先頭 -4byte あたりをアクセスに行くらしい。
というわけでやっと生成コードを実行してくれるようになった。 しかしまだまだ core る。
最近全然休んでいなかったので休み。
o PA-RISC 2.0 (wide mode)いじり。 分岐用 stub が 32bit だったので 64bit 対応に書き換え。 しかし r27 (gp: global pointer; 32bit だと dp: data pointer) の設定がどうしても入らない。 元の値をスタックに積んでいいのかなあ。
o つかこの gcc は r27 の値を戻さずに関数を終わることがあるな…。 gp って常に同じ値なのか?
o HP を点けていたら室温が 25℃を超えた(汗)。
o target_ulong にホストのポインタ値を入れているところがいくつもある…。 PARAM1 にポインタを入れてるのをどうしよう。
とりあえず r27 の上位 32bit を使うか。いいのか?
…動きだした?
qemu: fatal: Trying to execute code outside RAM or ROM at 0x000a0000
だめだー。
o 腹痛い。
o ラジオを録音中にタイムシフトで聞く(tail -f +0b foo.mp3 | mpg123 -)。 臨時ニュースが入ったのであわてて別の局に切り替え……って今切り替えちゃだめダー。 2ヶ所が切れた録音になってしまった。
o cmpci(4) でハング。←いい加減カーネル更新しろよ。
o 本日の PA-RISC 2.0 (wide mode)。 あう、最初の頃にいじった所が悪さをしていた。元に戻す…。
というわけで、デバッガの上で動かしていると運が良いとこの辺まで動くように。
o 本日の PA-RISC 2.0 (wide mode)。 Millicode の呼び出しはローカルらしく、戻りが bv なので遠く離れた所からは呼べないらしい。 bve で戻るようにするだけのラッパを噛ます。 元の r2 は r31 あたりに入れておくか(いいのか?)。
あと、やっぱり(展開した)関数一つ一つで r27 (gp: global pointer)を復元する必要があるらしい。 スタック深くに埋めておいて毎回復元するようにする。
o gdb 上で動かしていると結構動くようになった(そのうち落ちたりハングしたりする)。 デバッガ上じゃないとないとすぐ落ちるのはなんでだろ…。
o 献血のお願いの葉書が来た。
o うーん、やっぱりアナログ屋の考えることは分からんな。
o 濃霧で遅れそうな人が。
o Windows を再インストールしてみたり。パッチがたくさん…。
o MS Office 2000 以降で .docx を読み書きするための互換パックがあるのか。 しかしこれをインストールすると穴ふさぎパッチも追加される…。
o 上新からお葉書。前の月からポイントもらえるようになったのかな。
o 最近のPCは 64bit アーキテクチャも動くのか。どっちにするかな。
o 素の SPICE を使ってみるテスト。コマンド待ちになるんだ…。
o 5.0_BETA を CD 起動してみたが、どうやっても cd0: ... を最後にハングする。 いろいろ disable して調べたが、どうやら ehci で止まているっぽい。 分からんて(注: USBキーボードなので ddb に入れず)。
o 上新へ。おみやげはもう無かった。ガビーン。代りも何もなしかっ。
ポイントと CD-R を GET。あと SD カードを初GET(SDアダプタ付きmicroSDだけど)。
床屋、文房具屋、スーパーと回って帰ってきたら暗くなった。
o なんか風邪っぽい。Zzz...
o なんか su(1) の挙動が変わっているような気がする。PAM のせいか?
o 腕が痛い。キーボードを打つ時に机に当たる所が…。 ひじが付けないので肩が凝る。
o SPICE に遊ばれる。FET だと異様にうまくいく回路になった。
o 久しぶりに PA-RISC 2.0 (wide mode)いじり。 生成コードを呼ぶときに r27 (gp: global pointer)が有効じゃないことがあるんじゃないかと、 関数の先頭で保存した r27 の値を使うようにしてみた。
やっぱり落ちた(汗)。違ったか。
o 職場の忘年会でふぐ。なんか雰囲気違うな…。
o 風邪ひいてお休み。Zzz...
o 運転免許証更新のお知らせが来ていた。 更新手数料 2,100円、講習手数料700円。
※平成21年1月4日から運転免許証が、IC運転免許証になります。 …更新手数料が…2,550円に変わります。
日程上2,100円で更新することは不可能ぽい。最初から値上げ後の値段で書けよ。
o 5.0_BETA で適当に pkgsrc をコンパイルしてみるテスト。 x86_64 ですら結構エラー出るな…。
o 「これだけでいいですよね、他に何もいらないですよね。じゃあ持っていきます」
(n時間後)「やっぱりあれが必要…」
o 午後まで暖かかったが、夕方から冷えてきた。
o pkgsrc でいろいろコンパイルしてみるテスト。
qemu は HP-UX でなくてもいまいち不安定だな…。
o ニセ。基板が来た。急いで作ったやつだからいろいろハマりまくり。 top view と bottom view を間違えている部品が…。
今日は主に治具作りの便利屋。
o ニセ。今日もはんだ付けしたり圧着したり。
時折ぱらぱらと雪が舞う(←ちょっとあられっぽい)。初雪らしい。
o ニセ。トラブルシューター。
o 光が点滅する所にいたら、なんだか気分が悪い。
o ニセ。承認が遅すぎるのでばたばた。
o 電源容量が足りないと、いろいろおもろい(?)現象が起きる。
o 停電が30分くらいらしいので gw マシン(ThinkPad)を点け放しにしていたが、 10分持たずに電池切れXしていた。しかも電池が死んでしまったっぽい。
o 安物の Ni-MH がなかなか充電できなくなった。
o 片付けようとしたり片付かなかったり。
o ふと 100MB 超の Linux 実行ファイルを COMPAT_LINUX で実行できるのか試したが
<machine/vmparam.h>: #define MAXTSIZ (64*1024*1024) /* max text size */
に引っかかって ENOMEM
だった。
適当に増やしてたら実行できるようになったが、 未対応のシステムコールがあって動かなかった。
o 賀状書き。乾燥している時は、 ぺんてる筆はちょっと水をつけると書きやすいことが分かった。 調子に乗って水をつけまくると薄くなるので注意。
o ちょっと片付けようとしたり。
o 売店が開いていないのでカイシャの食堂へ。
o ちょっと掃除。
o 京ぽん(WX320KR)のファームを更新してみる。
やっぱり 30分くらいかかった。再起動がかかった後に、電池を付け直せという表示が。
何が変わったのか分からない。
o 帰省するか。
昼前のバスで発。近鉄経由。17時前に着。
PCをかついで来たので重かった。
o ぽっきり折れたメガネを修理しようとしたがメガネ屋は休みだった。
o BS hi (デジタル)で紅白。久石譲が出現。
背景のディスプレイと受像機の画素ピッチが近くなるときのモアレが非常に汚い。 せっかくの高画質がもったいない。
o 1年前(賞味期限が)のそばはうまかった。