【お知らせ】プログラミング記事の投稿はQiitaに移行しました。

libcなしでexit

結城浩先生のWikiにexitするだけのバイナリを削っていく記事の翻訳があります。

これをMINIXでもやってみようと思い、インラインアセンブラシステムコールを呼ぶコードを書いてみました。

void start()
{
	int m[] = { 0, 1/*EXIT*/, 42, 0, 0, 0, 0, 0, 0 };
	asm("movl $0, %%eax; movl $3, %%ecx; int $0x21" :: "b"(m));
}
# gcc -nostdinc -nostdlib exit.c
# ./a.out; echo $?
42

これをどんどん削っていこうと思います。続きはまた後日。