[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: can't link libz



----- Original Message -----
From: <kazuma@sola.c.u-tokyo.ac.jp>
To: <port-hpcmips-ja@jp.netbsd.org>
Sent: Friday, July 14, 2000 9:24 PM
Subject: Re: can't link libz


> 有野です。pbsdbootのlibzの組み込みが一応終わりました。一応
> 動いているようにみまえす。
>
> >このファイルをベースにして、sys/lib/libsa/cread.c が用意されています。
> >提供される関数名は gzdopen() ではなくて、open() になりますが…
> という事でしたので、この路線で試してみました。
> このcread.c使って、少し無いファイルをいろいろ持ってきたら出来ました。
> http://www.geocities.co.jp/SiliconValley-SanJose/8306/stand0714.lzh
> に置きました。diffも同じディレクトリのdiff.txtにおいてあります。

あとはソースコードの整理とテストをすれば完成ですね。

diff はもうすこし整理してたほうがいいのではないでしょうか。
これだけ雑多に出力されていると、有野さん自身もちゃんと
中身を見れていないのではないでしょうか?
.dwp, .dsp は今はスクリプトによる自動生成(以前は違いました)
なので、diff に入れないでください。

以下のようにファイル名が違ってしまっているのも何とか
してください。

Only in org/dspgen: application_WCE_MIPS.tmpl
Only in stand/dspgen: application_wce_mips.tmpl

現在は作業ディレクトリをそのまま diff していますが、そろそろ
cvs にいれるべきファイルと派生(自動生成)されるファイルを
意識して分けることが必要だと思います。
diff の出力を必要最小限に減らしましょう。

diff -bB org/libsa/libsa.config stand/libsa/libsa.config
12d11
< ../../../../lib/libsa/close.c
14,15d12
< ../../../../lib/libsa/lseek.c
< ../../../../lib/libsa/open.c
17d13
< ../../../../lib/libsa/read.c
20a17,22
> ../../../../lib/libsa/cread.c
> ../../../../lib/libsa/open.c
> ../../../../lib/libsa/read.c
> ../../../../lib/libsa/close.c
> ../../../../lib/libsa/lseek.c
> panic.c

この辺ももうすこしすっきりさせることはできるのではな
いでしょうか。

> dspは、dspgenの方も\r\nだったのでDOSの改行にしてあります。
> 他はなおしたつもりです。

.dsp は自動生成なので、改行コードも含めて、直接の修正は
意味がありません。(わかっているとは思いますが)

> また、panic()の中のcloseall()は、難しそうだった(先入観ですが)ので、
> panic()は中にabort()が入ってるだけのダミー関数にしてあります。
> 何かまずい事はあるでしょうか?

よいのではないでしょうか。
panic.c は一部改行コードが DOS スタイルになってしまっています。
#include "../../../../lib/libsa/stand.h" ではなくて、#include <stand.h>
ではダメですか?
panic が呼ばれるのをみましたか?呼ばれないならば abort() でも
十分だと思いますが、たまに呼ばれるようならば、もうすこし
メッセージなどを表示したほうが良いかもしれません。

新しく作成したファイルには Copyright も入れてください。
(もちろん有野さんの名前で)

debug_printf(TEXT("hoge\r\n")) のように \r が追加されています
が、これは必要ですか?昔(すんごい昔 Microsoft C 3.0 とか)は
\n 1 文字が 0x0d 0x0a の 2 バイトに自動的に変換されていまし
た。実際に出力されるコードはどうなるのでしょうか。

いろいろ細かいことばかりですが、cvs に commit するには
ある程度必要なことなので、よろしくお願いします。

Takemura