トップページunix
1001コメント294KB

くだらない質問はここに書き込め!なんでもアリ31

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。NGNG
UNIX板は、2chのサポートセンターではありません。
批判、要望は以下へ。
2ch批判要望 http://qb.2ch.net/accuse/

NGワード
* UNIXって何? (http://pc.2ch.net/test/read.cgi/unix/998779290/)
* UNIXとLinuxの違いは何? (http://pc.2ch.net/test/read.cgi/unix/1024558135/)
* 2ch閉鎖の危機をUNIX板が救ったという話{は本当? | を知った。有り難う! | のflashはどこ?}

禁止事項
* 既出・内容なし・マルチポスト・アスキーアート各種・ネタage・宿題の丸投げ

注意事項
* 荒らしは無視が鉄則
* Unixと関係ない質問/話題は、よけいな相手をせず適切な板に誘導。
* シュッ・シュッ

書く前にぐぐれ http://www.google.co.jp/
2ch総合検索サイト http://2ch.dyn.to/

過去ログなどは >>2-5
0133名無しさん@お腹いっぱい。NGNG
お前ら、教えてください。
FreeBSD5.1でシステムコールの追加を行っているのですが、
http://www.sfc.wide.ad.jp/~simitaka/memo/systemcall/index.html やら
http://www.minami.org/SS/pdf/2003/20031128-SS-08.pdf
やらを参考にやってみましたが、テストプログラムをコンパイル後、実行すると
invalid system call (by zsh)
とエラーを出されてしまいます。
以下、自分が行った作業手順です。

syscalls.masterに
xxx STD BSD { int syshello(void); } を追加

sh makesyscalls.sh syscalls.master を実行

/usr/src/sys/kern/syshello.c を作成し、内容は以下の用に編集

int
syshello(a,b)
struct thread *a; struct syshello_args *b;
{
printf("hello\n");
return 0;
}
つづく
0134名無しさん@お腹いっぱい。NGNG

/usr/src/sys/conf/files に kern/syshello.c standard を追加

カーネルをリコンパイルし、
次にユーザーランド用に
# cp /usr/src/sys/sys/syscall.h /usr/include/sys/.
# cp /usr/src/sys/sys/sysproto.h /usr/include/sys/.
# cd /usr/src/lib/libc
# make obj
# make depend
# make all
# make install
を行って終了しました。
ここまではエラーは出ていません。

つづく
0135名無しさん@お腹いっぱい。NGNG

/usr/src/sys/conf/files に kern/syshello.c standard を追加

カーネルをリコンパイルし、
次にユーザーランド用に
# cp /usr/src/sys/sys/syscall.h /usr/include/sys/.
# cp /usr/src/sys/sys/sysproto.h /usr/include/sys/.
# cd /usr/src/lib/libc
# make obj
# make depend
# make all
# make install
を行って終了しました。
ここまではエラーは出ていません。

つづく
0136名無しさん@お腹いっぱい。NGNG
テストプログラムは以下の通りです。
#include <stdio.h>
#include <sys/cdefs.h>

int
main (int argc, char **argv)
{
syshello();
return 0;
}
コンパイルは通るのですが実行時に先ほどのエラーがでます。

尚、上の参考資料に書いてあった
# cp /usr/src/sys/sys/syscall-hide.h /usr/include/sys/.
のsyscall-hide.hはバージョンが違うためか見つからなかったので実行していません。
解決方法をご存知の方がいらっしゃいましたら、
ヒントでもいいので教えてください。
宜しくお願いいたします。
■ このスレッドは過去ログ倉庫に格納されています