Lions' 本読み (28)
exec() 手続き確認ちう。魔窟だ。
とりあえず以下に目を付けて
3116 ts = ((u.u_arg[1]+63)>>6) & 01777; 3117 ds = ((u.u_arg[2]+u.u_arg[3]+63)>>6) & 01777; 3118 if(estabur(ts, ds, SSIZE, sep))
u.u_arg て何よ、と思ったら直上の以下なナニで云々らしい。
3085 u.u_base = &u.u_arg[0]; 3086 u.u_count = 8; 3087 u.u_offset[1] = 0; 3088 u.u_offset[0] = 0; 3089 u.u_segflg = 1; 3090 readi(ip);
ちなみに ip は exec される実行イメージなファイルのナニ。あと、3076 から 3083 なコメントにあるのですが
- u.u_arg[1] にはテキストセグメントのサイズ
- u.u_arg[2] にはデータセグメントのサイズ
- u.u_arg[3] には BSS のサイズ
が格納される模様。その上で 3116-3118 なナニが何を意味しているのか、がorz