225 lines
7.2 KiB
Groff
225 lines
7.2 KiB
Groff
.\" Copyright (c) 1980, 1991, 1993
|
|
.\" The Regents of the University of California. All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. All advertising materials mentioning features or use of this software
|
|
.\" must display the following acknowledgement:
|
|
.\" This product includes software developed by the University of
|
|
.\" California, Berkeley and its contributors.
|
|
.\" 4. Neither the name of the University nor the names of its contributors
|
|
.\" may be used to endorse or promote products derived from this software
|
|
.\" without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" @(#)stab.5 8.1 (Berkeley) 6/5/93
|
|
.\" %FreeBSD: src/share/man/man5/stab.5,v 1.11 2004/07/03 18:29:23 ru Exp %
|
|
.\"
|
|
.\" $FreeBSD$
|
|
.\" WORD: symbol table ¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë
|
|
.\" WORD: directive ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö(Ì¿Îá¡¢»ØÎá¤ÎÎà)
|
|
.\"
|
|
.Dd June 5, 1993
|
|
.Dt STAB 5
|
|
.Os
|
|
.Sh ̾¾Î
|
|
.Nm stab
|
|
.Nd ¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤Î·¿
|
|
.Sh ½ñ¼°
|
|
.In stab.h
|
|
.Sh ²òÀâ
|
|
.In stab.h
|
|
¥Õ¥¡¥¤¥ë¤Ï
|
|
a.out ¥Õ¥¡¥¤¥ë¤Ç»È¤ï¤ì¤ë¡¢¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤Î¤¤¤¯¤Ä¤«¤Î
|
|
.Fa n_type
|
|
¥Õ¥£¡¼¥ë¥ÉÃͤòÄêµÁ¤·¤Þ¤¹¡£
|
|
¤³¤ì¤é¤Ï¡¢¹±µ×Ū¤Ê¥·¥ó¥Ü¥ë·Á¼°¤Ç¤¢¤ê
|
|
(¤Ä¤Þ¤ê¡¢¥í¡¼¥«¥ë¤Ê¥é¥Ù¥ë¤Ê¤É¤Ç¤Ï¤Ê¤¤)¡¢¸Å¤¤¥Ç¥Ð¥Ã¥¬¤Ç¤¢¤ë
|
|
.Em sdb
|
|
¤ä Berkeley ¥Ñ¥¹¥«¥ë¥³¥ó¥Ñ¥¤¥é
|
|
.Xr pc 1
|
|
¤Ç»È¤ï¤ì¤Þ¤¹¡£
|
|
.\" (ÌõÃí) Berkeley¥Ñ¥¹¥«¥ë¥³¥ó¥Ñ¥¤¥é¤ÏFreeBSD¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó
|
|
.\" ¤Ë´Þ¤Þ¤ì¤Ê¤¤¡£
|
|
.\" 1998/05/05 Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
|
|
¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¥¨¥ó¥È¥ê¤Ï
|
|
.Pa .stabs
|
|
¥¢¥»¥ó¥Ö¥é¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤Ë¤è¤Ã¤ÆÀ¸À®¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
|
|
¤³¤³¤Ç¤Ï¡¢¥À¥Ö¥ë¥¯¥©¡¼¥È¤Ç¶èÀÚ¤é¤ì¤¿Ì¾Á°¡¢¥·¥ó¥Ü¥ë¤Î·¿¡¢¥·¥ó¥Ü¥ë¤Ë
|
|
¤Ä¤¤¤Æ¤Î char 1 ¤Ä¤È short 1 ¤Äʬ¤Î¾ðÊó¡¢
|
|
¤½¤·¤Æ (Ä̾ï¤Ï¥¢¥É¥ì¥¹¤ò¼¨¤¹) unsigned long ¤ÎÀ°¿ô¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
|
|
¥¢¥É¥ì¥¹¥Õ¥£¡¼¥ë¥É¤ËÌÀ¼¨Åª¤Ê¥é¥Ù¥ë¤òÀ¸À®¤¹¤ë¤Î¤òÈò¤±¤ë¤¿¤á¡¢
|
|
.Pa .stabd
|
|
¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ò»È¤¤¡¢¸½ºß¤Î¾ì½ê¤ò»Ø¤¹¤è¤¦¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
|
|
¤â¤·Ì¾Á°¤¬É¬Íפʤ¤¾ì¹ç¡¢
|
|
.Pa .stabn
|
|
¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ò»È¤¦¤³¤È¤Ç¡¢¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¥¨¥ó¥È¥ê¤òÀ¸À®¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
|
|
¥í¡¼¥À¤Ï¡¢
|
|
.Pa .stab
|
|
¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤¿¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤Î¥¨¥ó¥È¥ê½ç¤òÊѤ¨¤Ê¤¤¤³¤È
|
|
¤òÊݾڤ·¤Þ¤¹¡£
|
|
.Xr a.out 5
|
|
¤Ëµ½Ò¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¡¢¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤ÎÍ×ÁǤϰʲ¼¤Î¹½Â¤¤ò»ý¤Á¤Þ¤¹¡£
|
|
.Bd -literal
|
|
/*
|
|
* ¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¥¨¥ó¥È¥ê¤Î½ñ¼°
|
|
*/
|
|
|
|
struct nlist {
|
|
union {
|
|
char *n_name; /* ¥³¥¢ÆâÉô (in-core) ¤Ç»ÈÍÑ */
|
|
long n_strx; /* ¥Õ¥¡¥¤¥ëʸ»úÎóɽ¤Ø¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹ */
|
|
} n_un;
|
|
unsigned char n_type; /* ·¿¤Î¥Õ¥é¥° */
|
|
char n_other; /* »ÈÍѤµ¤ì¤Æ¤¤¤Ê¤¤ */
|
|
short n_desc; /* °Ê²¼¤Î struct desc »²¾È */
|
|
unsigned n_value; /* ¥¢¥É¥ì¥¹¤Þ¤¿¤Ï¥ª¥Õ¥»¥Ã¥È¤Þ¤¿¤Ï¹Ô */
|
|
};
|
|
.Ed
|
|
.Pp
|
|
.Fa n_type
|
|
¥Õ¥£¡¼¥ë¥É¤Î²¼°Ì¥Ó¥Ã¥È¤Ï¡¢¥·¥ó¥Ü¥ë¤ò¤¿¤«¤À¤« 1 ¤Ä¤Î¥»¥°¥á¥ó¥È¤ËÃÖ¤¯¤¿¤á
|
|
¤Ë»ÈÍѤ·¤Þ¤¹¡£¤É¤Î¥»¥°¥á¥ó¥È¤ËÃÖ¤¯¤«¤Ï
|
|
.In a.out.h
|
|
Æâ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë°Ê²¼¤Î¥Þ¥¹¥¯¤Ë´ð¤Å¤¤Þ¤¹¡£
|
|
¤³¤ì¤é¤Î¥»¥°¥á¥ó¥È¥Ó¥Ã¥È¤òÀßÄꤷ¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ç¡¢¥·¥ó¥Ü¥ë¤ò¤É¤Î
|
|
¥»¥°¥á¥ó¥È¤Ë¤â°¤µ¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
|
|
.Bd -literal
|
|
/*
|
|
* n_type ¤Îñ½ã¤ÊÃÍ
|
|
*/
|
|
|
|
#define N_UNDF 0x0 /* ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤ */
|
|
#define N_ABS 0x2 /* ÀäÂлØÄê */
|
|
#define N_TEXT 0x4 /* ¥Æ¥¥¹¥È */
|
|
#define N_DATA 0x6 /* ¥Ç¡¼¥¿ */
|
|
#define N_BSS 0x8 /* bss */
|
|
|
|
#define N_EXT 01 /* ³°Éô»²¾È¤òɽ¤¹¥Ó¥Ã¥È(or ¤·¤Æ»È¤¦) */
|
|
.Ed
|
|
.Pp
|
|
¥·¥ó¥Ü¥ë¤Î
|
|
.Fa n_value
|
|
¥Õ¥£¡¼¥ë¥É¤Ï¡¢¥ê¥ó¥«
|
|
.Xr ld 1
|
|
¤Ë¤è¤Ã¤Æ¡¢Àµ¤·¤¤¥»¥°¥á¥ó¥ÈÆâ¤Î¥¢¥É¥ì¥¹¤ËºÆÇÛÃÖ¤µ¤ì¤Þ¤¹¡£
|
|
¤É¤Î¥»¥°¥á¥ó¥È¤Ë¤âÆþ¤Ã¤Æ¤¤¤Ê¤¤¥·¥ó¥Ü¥ë¤Î
|
|
.Fa n_value
|
|
¥Õ¥£¡¼¥ë¥É¤Ï¡¢¥ê¥ó¥«¤Ë¤è¤Ã¤ÆÊѹ¹¤µ¤ì¤Þ¤»¤ó¡£
|
|
¤µ¤é¤Ë¡¢
|
|
.Fa n_type
|
|
¥Õ¥£¡¼¥ë¥É¤Ç¡¢°Ê²¼¤Î¥Ó¥Ã¥È¤Î¤¤¤º¤ì¤â¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢
|
|
¥ê¥ó¥«¤Ï¼«Ê¬¤¬»ý¤Ã¤Æ¤¤¤ëµ¬Â§¤Ë¤·¤¿¤¬¤Ã¤Æ¡¢
|
|
¤¤¤¯¤Ä¤«¤Î¥·¥ó¥Ü¥ë¤òÇË´þ¤·¤Þ¤¹¡£
|
|
.Bd -literal
|
|
/*
|
|
* ¤½¤Î¾¤Î±Ê³Ū¤Ê¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¥¨¥ó¥È¥ê¤Ç¤Ï¡¢N_STAB ¤Î¤¤¤¯¤Ä¤«¤Î¥Ó¥Ã¥È¤¬
|
|
* ¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤é¤Ï¡¢<stab.h> Æâ¤Ëµ½Ò¤¬¤¢¤ê¤Þ¤¹¡£
|
|
*/
|
|
|
|
#define N_STAB 0xe0 /* ¤â¤·¤³¤ì¤é¤Î¥Ó¥Ã¥È¤Î¤¤¤º¤ì¤«¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ì¤ÐÇË´þ¤µ¤ì¤Þ¤»¤ó */
|
|
.Ed
|
|
.Pp
|
|
¤³¤ì¤Ç¡¢112 (7 \(** 16) ¸Ä¤Þ¤Ç¤Î¥·¥ó¥Ü¥ë¤ò¡¢¤µ¤Þ¤¶¤Þ¤Ê¥»¥°¥á¥ó¥È¤Çʬ¤±¤Æ
|
|
ÄêµÁ¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
|
|
¤³¤ì¤é¤Î¤¤¤¯¤Ä¤«¤Ë¤Ä¤¤¤Æ¤Ï´û¤Ë½Ò¤Ù¤é¤ì¤Æ¤¤¤Þ¤¹¡£
|
|
¸Å¤¤¥·¥ó¥Ü¥ê¥Ã¥¯¥Ç¥Ð¥Ã¥¬
|
|
.Em sdb
|
|
¤Ï¡¢°Ê²¼¤Î n_type Ãͤò»È¤¤¤Þ¤¹¡£
|
|
.Bd -literal
|
|
#define N_GSYM 0x20 /* ¥°¥í¡¼¥Ð¥ë¥·¥ó¥Ü¥ë : name,,0,type,0 */
|
|
#define N_FNAME 0x22 /* ¼ê³¤Ì¾ (f77 kludge): name,,0 */
|
|
#define N_FUN 0x24 /* ¼ê³¤: name,,0,linenumber,address */
|
|
#define N_STSYM 0x26 /* ÀÅŪ¥·¥ó¥Ü¥ë: name,,0,type,address */
|
|
#define N_LCSYM 0x28 /* .lcomm ¥·¥ó¥Ü¥ël: name,,0,type,address */
|
|
#define N_RSYM 0x40 /* ¥ì¥¸¥¹¥¿¥·¥ó¥Ü¥ë: name,,0,type,register */
|
|
#define N_SLINE 0x44 /* ¥½¡¼¥¹¹Ô: 0,,0,linenumber,address */
|
|
#define N_SSYM 0x60 /* structure elt: name,,0,type,struct_offset */
|
|
#define N_SO 0x64 /* ¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾: name,,0,0,address */
|
|
#define N_LSYM 0x80 /* ¥í¡¼¥«¥ë¥·¥ó¥Ü¥ë: name,,0,type,offset */
|
|
#define N_SOL 0x84 /* #include¤µ¤ì¤¿¥Õ¥¡¥¤¥ë̾: name,,0,0,address */
|
|
#define N_PSYM 0xa0 /* ¥Ñ¥é¥á¡¼¥¿: name,,0,type,offset */
|
|
#define N_ENTRY 0xa4 /* Ê̤Υ¨¥ó¥È¥ê: name,linenumber,address */
|
|
#define N_LBRAC 0xc0 /* º¸¤«¤Ã¤³: 0,,0,nesting level,address */
|
|
#define N_RBRAC 0xe0 /* ±¦¤«¤Ã¤³: 0,,0,nesting level,address */
|
|
#define N_BCOMM 0xe2 /* ¶¦Ä̤γ«»ÏÉ乿: name,, */
|
|
#define N_ECOMM 0xe4 /* ¶¦Ä̤νªÎ»É乿: name,, */
|
|
#define N_ECOML 0xe8 /* (¥í¡¼¥«¥ë̾¤Î)¶¦Ä̤νªÎ»É乿: ,,address */
|
|
#define N_LENG 0xfe /* Ťµ¾ðÊó¤ò»ý¤Ã¤¿2ÈÖÌܤΠstab ¥¨¥ó¥È¥ê */
|
|
.Ed
|
|
.Pp
|
|
¤³¤³¤Ç¡¢¥³¥á¥ó¥È¤Ë¤Ï
|
|
Í¿¤¨¤é¤ì¤¿
|
|
.Fa n_type
|
|
¤Î
|
|
.Fa n_name ,
|
|
.Fa n_other ,
|
|
.Fa n_desc ,
|
|
.Fa n_value
|
|
¥Õ¥£¡¼¥ë¥É
|
|
¤È
|
|
.Pa .stab
|
|
.Fa s
|
|
¤Îŵ·¿Åª¤ÊÍøÍÑË¡¤¬½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£
|
|
.Em sdb
|
|
¤Ï¡¢¥Ý¡¼¥¿¥Ö¥ë C ¥³¥ó¥Ñ¥¤¥é
|
|
.Xr cc 1
|
|
¤Ë¤è¤Ã¤Æ»È¤ï¤ì¤ë·Á¼°¤Î·¿¤Î»ØÄê»Ò¤ò»ý¤Ã¤Æ¤¤¤ë
|
|
.Fa n_desc
|
|
¥Õ¥£¡¼¥ë¥É¤ò»È¤¤¤Þ¤¹¡£¤³¤ì¤é¤Î·¿¤ÎÃͤΥե©¡¼¥Þ¥Ã¥È¤Î¾ÜºÙ¤Ï¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë
|
|
.Pa pcc.h
|
|
¤ò»²¾È¤·¤Æ²¼¤µ¤¤¡£
|
|
.Pp
|
|
Berkeley ¥Ñ¥¹¥«¥ë¥³¥ó¥Ñ¥¤¥é
|
|
.Xr pc 1
|
|
¤Ï¡¢°Ê²¼¤Î
|
|
.Fa n_type
|
|
Ãͤò¤Ä¤«¤¤¤Þ¤¹:
|
|
.Bd -literal
|
|
#define N_PC 0x30 /* ¥°¥í¡¼¥Ð¥ë¤Ê¥Ñ¥¹¥«¥ë¥·¥ó¥Ü¥ë: name,,0,subtype,line */
|
|
.Ed
|
|
.Pp
|
|
¤È¡¢°Ê²¼¤Î¥µ¥Ö·¿¤ò»È¤¤¡¢ÊÌ¡¹¤Î¥³¥ó¥Ñ¥¤¥ë¥Õ¥¡¥¤¥ë¤Ë¤Þ¤¿¤¬¤ë·¿¥Á¥§¥Ã¥¯¤ò
|
|
¹Ô¤¤¤Þ¤¹¡£
|
|
.Bd -unfilled -offset indent
|
|
1 ¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾
|
|
2 ¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë̾
|
|
3 ¥°¥í¡¼¥Ð¥ë¤Ê¥é¥Ù¥ë
|
|
4 ¥°¥í¡¼¥Ð¥ë¤ÊÄê¿ô
|
|
5 ¥°¥í¡¼¥Ð¥ë¤Ê·¿
|
|
6 ¥°¥í¡¼¥Ð¥ë¤ÊÊÑ¿ô
|
|
7 ¥°¥í¡¼¥Ð¥ë¤Ê´Ø¿ô
|
|
8 ¥°¥í¡¼¥Ð¥ë¤Ê¼ê³¤
|
|
9 ³°Éô´Ø¿ô
|
|
10 ³°Éô¼ê³¤
|
|
11 ¥é¥¤¥Ö¥é¥êÊÑ¿ô
|
|
12 ¥é¥¤¥Ö¥é¥ê¥ë¡¼¥Á¥ó
|
|
.Ed
|
|
.Sh ´ØÏ¢¹àÌÜ
|
|
.Xr as 1 ,
|
|
.Xr ld 1 ,
|
|
.Xr a.out 5
|
|
.Sh ¥Ð¥°
|
|
¤â¤Ã¤È´ðËÜŪ¤Ê·Á¼°¤¬É¬ÍפǤ·¤ç¤¦¡£
|
|
.Sh Îò»Ë
|
|
.Nm
|
|
¥Õ¥¡¥¤¥ë¤Ï
|
|
.Bx 4.0
|
|
¤«¤éÅо줷¤Þ¤·¤¿¡£
|