From owner-man-jp-reviewer@jp.freebsd.org  Fri May 22 00:08:33 1998
Received: (from daemon@localhost)
	by jaz.jp.freebsd.org (8.8.8+3.0Wbeta13/8.7.3) id AAA28779;
	Fri, 22 May 1998 00:08:33 +0900 (JST)
	(envelope-from owner-man-jp-reviewer@jp.FreeBSD.org)
Received: from mail.nk.rim.or.jp (root@mail.nk.rim.or.jp [202.247.130.165])
	by jaz.jp.freebsd.org (8.8.8+3.0Wbeta13/8.7.3) with ESMTP id AAA28774
	for <man-jp-reviewer@jp.freebsd.org>; Fri, 22 May 1998 00:08:31 +0900 (JST)
	(envelope-from kuma@nk.rim.or.jp)
Received: from mini.laurel.nk.rim.or.jp (ppp047.nk.rim.or.jp [202.247.176.47]) by mail.nk.rim.or.jp (8.8.5/3.4Wbeta6-rimnet) with ESMTP id AAA19330 for <man-jp-reviewer@jp.freebsd.org>; Fri, 22 May 1998 00:08:28 +0900 (JST)
Received: from basil.laurel.nk.rim.or.jp by mini.laurel.nk.rim.or.jp (8.8.7/3.3W6-mini980115)
	id WAA14339; Thu, 21 May 1998 22:47:19 +0900 (JST)
Received: from basil.laurel.nk.rim.or.jp by basil.laurel.nk.rim.or.jp (8.8.7/3.3W6-leaf980115)
	id WAA00363; Thu, 21 May 1998 22:46:45 +0900 (JST)
Message-Id: <199805211346.WAA00363@basil.laurel.nk.rim.or.jp>
To: man-jp-reviewer@jp.freebsd.org
In-reply-to: Your message of "Thu, 21 May 1998 12:41:46 JST."
	 <19980521124146L.mutoh@info.nara-k.ac.jp> 
Date: Thu, 21 May 1998 22:46:44 +0900
From: Norihiro Kumagai <kuma@nk.rim.or.jp>
Reply-To: man-jp-reviewer@jp.freebsd.org
Precedence: list
X-Distribute: distribute [version 2.1 (Alpha) patchlevel=24]
X-Sequence: man-jp-reviewer 150
Subject: [man-jp-reviewer 150] Re: stab.5 
Errors-To: owner-man-jp-reviewer@jp.freebsd.org
Sender: owner-man-jp-reviewer@jp.freebsd.org

$B7'C+$G$9!#(B

In Message <19980521124146L.mutoh@info.nara-k.ac.jp>,
  Takeshi MUTOH <mutoh@info.nara-k.ac.jp> writes:
> .\"     @(#)stab.5	8.1 (Berkeley) 6/5/93
> .\"	$Id: stab.5,v 1.2.2.1 1997/03/07 04:18:12 mpp Exp $

.\" WORD: symbol table	$B%7%s%\%k%F!<%V%k(B
.\" WORD: directive	$B%G%#%l%/%F%#%V(B($BL?Na!";XNa$NN`(B)

> .Nd $B%7%s%\%k%F!<%V%k$N7A<0(B

.Nd $B%7%s%\%k%F!<%V%k$N7?(B

> .Sh $B2r@b(B
> .Aq Pa stab.h
> $B%U%!%$%k$O(B
> a.out $B%U%!%$%k$N$?$a$N(B
> .Fa n_type
> $B%U%#!<%k%ICM$N%7%s%\%k%F!<%V%k$N$$$/$D$+$rDj5A$7$^$9!#(B

.Sh $B2r@b(B
.Aq Pa stab.h
$B%U%!%$%k$O(B
a.out $B%U%!%$%k$G;H$o$l$k!"%7%s%\%k%F!<%V%k$N$$$/$D$+$N(B
.Fa n_type
$B%U%#!<%k%I$NCM$rDj5A$7$^$9!#(B

> $B$3$N$?$a$K$O!"%@%V%k%/%*!<%H$G6h@Z$i$l$?L>A0!"0lJ8;z$N%-%c%i%/%?$G%7%s(B
> $B%\%k$N7?$H%7%s%\%k$KBP$9$k>pJs!"$=$7$F(B($B$U$D$&$O%"%I%l%9$r$7$a$9(B)
> $BId9g$J$7%m%s%0@0?t$r;XDj$7$^$9!#(B

$B$3$N$?$a$K$O!"%@%V%k%/%*!<%H$G6h@Z$i$l$?L>A0!"%7%s%\%k$N7?(B($B%7%s%\%k$K(B
$B$D$$$F$N(B char 1 $B$D$H(B short 1 $B$DJ,$N>pJs(B)$B!"$=$7$F(B($B$U$D$&$O%"%I%l%9$r$7(B
$B$a$9(B) unsigned long $B$N@0?t$r;XDj$7$^$9!#(B

> $B%"%I%l%9%U%#!<%k%I$N$?$a$KL@<(E*$J%i%Y%k$r@8@.$9$k$3$H$rHr$1$k$?$a$K$O!"(B

$B%"%I%l%9%U%#!<%k%I$K%i%Y%k$r@8@.$7$FM?$($k$3$H$rHr$1$k$?$a$K$O!"(B

% explicit, implicit $B$r0lHL8lE*$KLu$9$H$-$O!VL@<(E*!W!V0EL[!W$H$$$&$N(B
% $B$rHr$1$F0ULu$7$?$[$&$,3J9%NI$$$H;W$$$^$9$,G!2?!#(B

> .Pa .stabd
> $B%G%#%l%/%F%#%V$G8=:_$N>l=j$+$i$N0EL[$N%"%I%l%9$r;H$&$3$H$,$G$-$^$9!#(B

$B%G%#%l%/%F%#%V$r;H$$!"8=:_$N>l=j$r;X$9$h$&$K$9$k$3$H$,$G$-$^$9!#(B

% JIS C $B$G$O(B directive -> $B;XNa$HLu$7$^$9$,!"%G%#%l%/%F%#%V$NJ}$,9%$_$G(B
% $B$9!#sJN[$8$c$"$k$^$$$7!#(B

> $B%m!<%@$O!"(B
> .Pa .stab
> $B%G%#%l%/%F%#%V$K$h$C$F@8@.$5$l$?%7%s%\%kI=$N%(%s%H%j$N=g$KJ]B8$9$k$3$H(B
> $B$rJ]>Z$7$^$9!#(B

$B$R$g$C$H$7$F!"$3$N!V%m!<%@!W$C$F(B lorder(1) $B$N$3$H$8$c$J$$$+$7$i!#(B
($B2<$G$O(Bld$B$N$3$H$O(Blinker$B$H=q$$$F$k$J$!!D$A$g$C$H?4G[(B)

> 		char	*n_name;	/* $B%3%"FbIt(B (in-core) $B$G;HMQ(B */
		char	*n_name;	/* $B%a%b%jFbIt$G;HMQ(B */

> .Fa n_type
> $B%U%#!<%k%I$N2<0L%S%C%H$O!"(B
> .Aq Pa a.out.h 
> $B$J$$$GDj5A$5$l$F$$$k0J2<$N%^%9%/$K4p$E$$$?$[$H$s$I0l$D$N%;%0%a%s%H$X$N(B
> $B%7%s%\%k$N>l=j$H$7$F;H$o$l$^$9!#(B
> $B%7%s%\%k$O!"$3$l$i$N%;%0%a%s%H%S%C%H@_Dj$r$7$J$$$3$H$G$3$l$i$N%;%0%a%s(B
> $B%H$r4^$^$J$$$3$H$b$G$-$^$9!#(B

.Fa n_type
$B%U%#!<%k%I$N2<0L%S%C%H$O!"%7%s%\%k$r$?$+$@$+(B1$B$D$N%;%0%a%s%H$KCV$/$?$a(B
$B$K;HMQ$7$^$9!#$I$N%;%0%a%s%H$KCV$/$+$O(B
.Aq Pa a.out.h 
$BFb$GDj5A$5$l$F$$$k0J2<$N%^%9%/$K4p$E$-$^$9!#(B
$B$3$l$i$N%;%0%a%s%H%S%C%H$r@_Dj$7$J$$$h$&$K$9$k$3$H$G!"%7%s%\%k$r$I$N%;(B
$B%0%a%s%H$K$bB0$5$J$$$h$&$K$9$k$3$H$,$G$-$^$9!#(B

> #define	N_EXT	01	/* or $B$5$l$?;H$o$l$kM>J,$N%S%C%H(B */

#define	N_EXT	01	/* $B30It;2>H$rI=$9%S%C%H(B(or $B$7$F;H$&(B) */

> $B$5$i$K!"(B
> .Fa n_type
> $B%U%#!<%k%I$,0J2<$N%S%C%H%;%C%H$N0l$D$r;}$C$F$$$J$$8B$j!"(B

$B$5$i$K!"(B
.Fa n_type
$B%U%#!<%k%I$G!"0J2<$N%S%C%H$N$$$:$l$b%;%C%H$5$l$F$$$J$$>l9g$O!"(B

> .Bd -literal
> /*
> * $B$=$NB>$N1JB3E*$J%7%s%\%kI=%(%s%H%j$O!"$$$/$D$+$N(B N_STAB $B%S%C%H%;%C%H$r;}$A$^$9!#(B
> * $B$3$l$i$O!"(B <stab.h> $BFb$K5-=R$,$"$j$^$9!#(B
> */
> 
> #define	N_STAB	0xe0	/* $B$b$7$3$l$i$N%S%C%H%;%C%H$N$$$:$l$+$,@_Dj$5$l$F$$$l$P@Z$j<N$F$i$l$^$;$s(B */
> .Ed

.Bd -literal
/*
* $B$=$NB>$N1JB3E*$J%7%s%\%kI=%(%s%H%j$O!"$$$/$D$+$N(B N_STAB $B%S%C%H%;%C%H$r(B
* $B;}$A$^$9!#$3$l$i$O!"(B <stab.h> $BFb$K5-=R$,$"$j$^$9!#(B
*/

#define	N_STAB	0xe0	/* $B$b$7$3$l$i$N%S%C%H%;%C%H$N$$$:$l$+$,@_Dj$5$l$F(B
			   $B$$$l$P@Z$j<N$F$i$l$^$;$s(B */

% $B$H$$$&Iw$K!"(B-literal $B$G%3!<%I$r=q$$$F$$$kItJ,$O!"(B76 $B%+%i%`$0$i$$$G2~(B
% $B9T$7$?J}$,$h$/$J$$$G$9$+!)(B

> $B$3$l$O!"MM!9$J%;%0%a%s%H$N4V$rJ,$1$k(B 112 (7 \(** 16) $B$N%7%s%\%k7?$rDj(B
> $B5A$G$-$k$h$&$K$7$^$9!#(B

$B$3$l$G!"(B112 (7 \(** 16) $B8D$^$G$N%7%s%\%k$r!"$5$^$6$^$J%;%0%a%s%H$GJ,$1(B
$B$FDj5A$G$-$k$h$&$K$J$j$^$9!#(B

% split between ... $B$N(B split $B$O2a5nJ,;l$G$7$g$&!#A0$N(B symbol types $B$,(B
% $B%;%0%a%s%H$4$H$KJ,3d$5$l$F$$$k$H$$$&46$8$+$J!#(B

> #define	N_BCOMM	0xe2	/* $B6&DL$N3+;OId9g(B: name,, */
> #define	N_ECOMM	0xe4	/* $B6&DL$N=*N;Id9g(B: name,, */
> #define	N_ECOML	0xe8	/* ($B%m!<%+%kL>$N(B)$B6&DL$N=*N;Id9g(B: ,,address */

#define	N_BCOMM	0xe2	/* $B6&DL$N3+;OId9f(B: name,, */
#define	N_ECOMM	0xe4	/* $B6&DL$N=*N;Id9f(B: name,, */
#define	N_ECOML	0xe8	/* ($B%m!<%+%kL>$N(B)$B6&DL$N=*N;Id9f(B: ,,address */

% $B$&!<$`!"$3$3$b!V(Bcommon $BNN0h$N3+;O!W$+$J$!!#%o%+%i%s!#(B
% $B$$$:$l$K$7$F$b!VId9g!W$h$j$O!VId9f!W$NJ}$,$$$$$G$7$g$&!#(B

> .Em sdb
> .Fa s
> $B$NE57?E*$JMxMQK!$,=q$+$l$F$$$^$9!#(B

.Pa .stab
.Fa s
$B$NE57?E*$JMxMQK!$,=q$+$l$F$$$^$9!#(B

% .Em sbd --> .Pa .stab $B$@$H;W$&!#(B

> and uses the following subtypes to do type checking across separately
> compiled files:

$B$H!"0J2<$N%5%V7?$r;H$$!"JL!9$N%3%s%Q%$%k%U%!%$%k$K$^$?$,$k7?%A%'%C%/$r(B
$B9T$$$^$9!#(B

--
$B7'C+(B $BE5Bg(B
