Blame misc/bits/stab.def

Packit Service 82fcde
/* Table of DBX symbol codes for the GNU system.
Packit Service 82fcde
   Copyright (C) 1988, 1997-2018 Free Software Foundation, Inc.
Packit Service 82fcde
   This file is part of the GNU C Library.
Packit Service 82fcde
Packit Service 82fcde
   The GNU C Library is free software; you can redistribute it and/or
Packit Service 82fcde
   modify it under the terms of the GNU Lesser General Public
Packit Service 82fcde
   License as published by the Free Software Foundation; either
Packit Service 82fcde
   version 2.1 of the License, or (at your option) any later version.
Packit Service 82fcde
Packit Service 82fcde
   The GNU C Library is distributed in the hope that it will be useful,
Packit Service 82fcde
   but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service 82fcde
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit Service 82fcde
   Lesser General Public License for more details.
Packit Service 82fcde
Packit Service 82fcde
   You should have received a copy of the GNU Lesser General Public
Packit Service 82fcde
   License along with the GNU C Library; if not, see
Packit Service 82fcde
   <http://www.gnu.org/licenses/>.  */
Packit Service 82fcde
Packit Service 82fcde
/* This contains contribution from Cygnus Support.  */
Packit Service 82fcde

Packit Service 82fcde
/* Global variable.  Only the name is significant.
Packit Service 82fcde
   To find the address, look in the corresponding external symbol.  */
Packit Service 82fcde
__define_stab (N_GSYM, 0x20, "GSYM")
Packit Service 82fcde
Packit Service 82fcde
/* Function name for BSD Fortran.  Only the name is significant.
Packit Service 82fcde
   To find the address, look in the corresponding external symbol.  */
Packit Service 82fcde
__define_stab (N_FNAME, 0x22, "FNAME")
Packit Service 82fcde
Packit Service 82fcde
/* Function name or text-segment variable for C.  Value is its address.
Packit Service 82fcde
   Desc is supposedly starting line number, but GCC doesn't set it
Packit Service 82fcde
   and DBX seems not to miss it.  */
Packit Service 82fcde
__define_stab (N_FUN, 0x24, "FUN")
Packit Service 82fcde
Packit Service 82fcde
/* Data-segment variable with internal linkage.  Value is its address.
Packit Service 82fcde
   "Static Sym".  */
Packit Service 82fcde
__define_stab (N_STSYM, 0x26, "STSYM")
Packit Service 82fcde
Packit Service 82fcde
/* BSS-segment variable with internal linkage.  Value is its address.  */
Packit Service 82fcde
__define_stab (N_LCSYM, 0x28, "LCSYM")
Packit Service 82fcde
Packit Service 82fcde
/* Name of main routine.  Only the name is significant.
Packit Service 82fcde
   This is not used in C.  */
Packit Service 82fcde
__define_stab (N_MAIN, 0x2a, "MAIN")
Packit Service 82fcde
Packit Service 82fcde
/* Global symbol in Pascal.
Packit Service 82fcde
   Supposedly the value is its line number; I'm skeptical.  */
Packit Service 82fcde
__define_stab (N_PC, 0x30, "PC")
Packit Service 82fcde
Packit Service 82fcde
/* Number of symbols:  0, files,,funcs,lines according to Ultrix V4.0. */
Packit Service 82fcde
__define_stab (N_NSYMS, 0x32, "NSYMS")
Packit Service 82fcde
Packit Service 82fcde
/* "No DST map for sym: name, ,0,type,ignored"  according to Ultrix V4.0. */
Packit Service 82fcde
__define_stab (N_NOMAP, 0x34, "NOMAP")
Packit Service 82fcde
Packit Service 82fcde
/* New stab from Solaris.  I don't know what it means, but it
Packit Service 82fcde
   don't seem to contain useful information.  */
Packit Service 82fcde
__define_stab (N_OBJ, 0x38, "OBJ")
Packit Service 82fcde
Packit Service 82fcde
/* New stab from Solaris.  I don't know what it means, but it
Packit Service 82fcde
   don't seem to contain useful information.  Possibly related to the
Packit Service 82fcde
   optimization flags used in this module.  */
Packit Service 82fcde
__define_stab (N_OPT, 0x3c, "OPT")
Packit Service 82fcde
Packit Service 82fcde
/* Register variable.  Value is number of register.  */
Packit Service 82fcde
__define_stab (N_RSYM, 0x40, "RSYM")
Packit Service 82fcde
Packit Service 82fcde
/* Modula-2 compilation unit.  Can someone say what info it contains?  */
Packit Service 82fcde
__define_stab (N_M2C, 0x42, "M2C")
Packit Service 82fcde
Packit Service 82fcde
/* Line number in text segment.  Desc is the line number;
Packit Service 82fcde
   value is corresponding address.  */
Packit Service 82fcde
__define_stab (N_SLINE, 0x44, "SLINE")
Packit Service 82fcde
Packit Service 82fcde
/* Similar, for data segment.  */
Packit Service 82fcde
__define_stab (N_DSLINE, 0x46, "DSLINE")
Packit Service 82fcde
Packit Service 82fcde
/* Similar, for bss segment.  */
Packit Service 82fcde
__define_stab (N_BSLINE, 0x48, "BSLINE")
Packit Service 82fcde
Packit Service 82fcde
/* Sun's source-code browser stabs.  ?? Don't know what the fields are.
Packit Service 82fcde
   Supposedly the field is "path to associated .cb file".  THIS VALUE
Packit Service 82fcde
   OVERLAPS WITH N_BSLINE!  */
Packit Service 82fcde
__define_stab (N_BROWS, 0x48, "BROWS")
Packit Service 82fcde
Packit Service 82fcde
/* GNU Modula-2 definition module dependency.  Value is the modification time
Packit Service 82fcde
   of the definition file.  Other is non-zero if it is imported with the
Packit Service 82fcde
   GNU M2 keyword %INITIALIZE.  Perhaps N_M2C can be used if there
Packit Service 82fcde
   are enough empty fields? */
Packit Service 82fcde
__define_stab(N_DEFD, 0x4a, "DEFD")
Packit Service 82fcde
Packit Service 82fcde
/* THE FOLLOWING TWO STAB VALUES CONFLICT.  Happily, one is for Modula-2
Packit Service 82fcde
   and one is for C++.   Still,... */
Packit Service 82fcde
/* GNU C++ exception variable.  Name is variable name.  */
Packit Service 82fcde
__define_stab (N_EHDECL, 0x50, "EHDECL")
Packit Service 82fcde
/* Modula2 info "for imc":  name,,0,0,0  according to Ultrix V4.0.  */
Packit Service 82fcde
__define_stab (N_MOD2, 0x50, "MOD2")
Packit Service 82fcde
Packit Service 82fcde
/* GNU C++ `catch' clause.  Value is its address.  Desc is nonzero if
Packit Service 82fcde
   this entry is immediately followed by a CAUGHT stab saying what exception
Packit Service 82fcde
   was caught.  Multiple CAUGHT stabs means that multiple exceptions
Packit Service 82fcde
   can be caught here.  If Desc is 0, it means all exceptions are caught
Packit Service 82fcde
   here.  */
Packit Service 82fcde
__define_stab (N_CATCH, 0x54, "CATCH")
Packit Service 82fcde
Packit Service 82fcde
/* Structure or union element.  Value is offset in the structure.  */
Packit Service 82fcde
__define_stab (N_SSYM, 0x60, "SSYM")
Packit Service 82fcde
Packit Service 82fcde
/* Name of main source file.
Packit Service 82fcde
   Value is starting text address of the compilation.  */
Packit Service 82fcde
__define_stab (N_SO, 0x64, "SO")
Packit Service 82fcde
Packit Service 82fcde
/* Automatic variable in the stack.  Value is offset from frame pointer.
Packit Service 82fcde
   Also used for type descriptions.  */
Packit Service 82fcde
__define_stab (N_LSYM, 0x80, "LSYM")
Packit Service 82fcde
Packit Service 82fcde
/* Beginning of an include file.  Only Sun uses this.
Packit Service 82fcde
   In an object file, only the name is significant.
Packit Service 82fcde
   The Sun linker puts data into some of the other fields.  */
Packit Service 82fcde
__define_stab (N_BINCL, 0x82, "BINCL")
Packit Service 82fcde
Packit Service 82fcde
/* Name of sub-source file (#include file).
Packit Service 82fcde
   Value is starting text address of the compilation.  */
Packit Service 82fcde
__define_stab (N_SOL, 0x84, "SOL")
Packit Service 82fcde
Packit Service 82fcde
/* Parameter variable.  Value is offset from argument pointer.
Packit Service 82fcde
   (On most machines the argument pointer is the same as the frame pointer.  */
Packit Service 82fcde
__define_stab (N_PSYM, 0xa0, "PSYM")
Packit Service 82fcde
Packit Service 82fcde
/* End of an include file.  No name.
Packit Service 82fcde
   This and N_BINCL act as brackets around the file's output.
Packit Service 82fcde
   In an object file, there is no significant data in this entry.
Packit Service 82fcde
   The Sun linker puts data into some of the fields.  */
Packit Service 82fcde
__define_stab (N_EINCL, 0xa2, "EINCL")
Packit Service 82fcde
Packit Service 82fcde
/* Alternate entry point.  Value is its address.  */
Packit Service 82fcde
__define_stab (N_ENTRY, 0xa4, "ENTRY")
Packit Service 82fcde
Packit Service 82fcde
/* Beginning of lexical block.
Packit Service 82fcde
   The desc is the nesting level in lexical blocks.
Packit Service 82fcde
   The value is the address of the start of the text for the block.
Packit Service 82fcde
   The variables declared inside the block *precede* the N_LBRAC symbol.  */
Packit Service 82fcde
__define_stab (N_LBRAC, 0xc0, "LBRAC")
Packit Service 82fcde
Packit Service 82fcde
/* Place holder for deleted include file.  Replaces a N_BINCL and everything
Packit Service 82fcde
   up to the corresponding N_EINCL.  The Sun linker generates these when
Packit Service 82fcde
   it finds multiple identical copies of the symbols from an include file.
Packit Service 82fcde
   This appears only in output from the Sun linker.  */
Packit Service 82fcde
__define_stab (N_EXCL, 0xc2, "EXCL")
Packit Service 82fcde
Packit Service 82fcde
/* Modula-2 scope information.  Can someone say what info it contains?  */
Packit Service 82fcde
__define_stab (N_SCOPE, 0xc4, "SCOPE")
Packit Service 82fcde
Packit Service 82fcde
/* End of a lexical block.  Desc matches the N_LBRAC's desc.
Packit Service 82fcde
   The value is the address of the end of the text for the block.  */
Packit Service 82fcde
__define_stab (N_RBRAC, 0xe0, "RBRAC")
Packit Service 82fcde
Packit Service 82fcde
/* Begin named common block.  Only the name is significant.  */
Packit Service 82fcde
__define_stab (N_BCOMM, 0xe2, "BCOMM")
Packit Service 82fcde
Packit Service 82fcde
/* End named common block.  Only the name is significant
Packit Service 82fcde
   (and it should match the N_BCOMM).  */
Packit Service 82fcde
__define_stab (N_ECOMM, 0xe4, "ECOMM")
Packit Service 82fcde
Packit Service 82fcde
/* End common (local name): value is address.
Packit Service 82fcde
   I'm not sure how this is used.  */
Packit Service 82fcde
__define_stab (N_ECOML, 0xe8, "ECOML")
Packit Service 82fcde
Packit Service 82fcde
/* These STAB's are used on Gould systems for Non-Base register symbols
Packit Service 82fcde
   or something like that.  FIXME.  I have assigned the values at random
Packit Service 82fcde
   since I don't have a Gould here.  Fixups from Gould folk welcome... */
Packit Service 82fcde
__define_stab (N_NBTEXT, 0xF0, "NBTEXT")
Packit Service 82fcde
__define_stab (N_NBDATA, 0xF2, "NBDATA")
Packit Service 82fcde
__define_stab (N_NBBSS,  0xF4, "NBBSS")
Packit Service 82fcde
__define_stab (N_NBSTS,  0xF6, "NBSTS")
Packit Service 82fcde
__define_stab (N_NBLCS,  0xF8, "NBLCS")
Packit Service 82fcde
Packit Service 82fcde
/* Second symbol entry containing a length-value for the preceding entry.
Packit Service 82fcde
   The value is the length.  */
Packit Service 82fcde
__define_stab (N_LENG, 0xfe, "LENG")
Packit Service 82fcde

Packit Service 82fcde
/* The above information, in matrix format.
Packit Service 82fcde
Packit Service 82fcde
			STAB MATRIX
Packit Service 82fcde
	_________________________________________________
Packit Service 82fcde
	| 00 - 1F are not dbx stab symbols		|
Packit Service 82fcde
	| In most cases, the low bit is the EXTernal bit|
Packit Service 82fcde
Packit Service 82fcde
	| 00 UNDEF  | 02 ABS	| 04 TEXT   | 06 DATA	|
Packit Service 82fcde
	| 01  |EXT  | 03  |EXT	| 05  |EXT  | 07  |EXT	|
Packit Service 82fcde
Packit Service 82fcde
	| 08 BSS    | 0A INDR	| 0C FN_SEQ | 0E   	|
Packit Service 82fcde
	| 09  |EXT  | 0B 	| 0D	    | 0F	|
Packit Service 82fcde
Packit Service 82fcde
	| 10 	    | 12 COMM	| 14 SETA   | 16 SETT	|
Packit Service 82fcde
	| 11	    | 13	| 15 	    | 17	|
Packit Service 82fcde
Packit Service 82fcde
	| 18 SETD   | 1A SETB	| 1C SETV   | 1E WARNING|
Packit Service 82fcde
	| 19	    | 1B	| 1D 	    | 1F FN	|
Packit Service 82fcde
Packit Service 82fcde
	|_______________________________________________|
Packit Service 82fcde
	| Debug entries with bit 01 set are unused.	|
Packit Service 82fcde
	| 20 GSYM   | 22 FNAME	| 24 FUN    | 26 STSYM	|
Packit Service 82fcde
	| 28 LCSYM  | 2A MAIN	| 2C	    | 2E	|
Packit Service 82fcde
	| 30 PC	    | 32 NSYMS	| 34 NOMAP  | 36	|
Packit Service 82fcde
	| 38 OBJ    | 3A	| 3C OPT    | 3E	|
Packit Service 82fcde
	| 40 RSYM   | 42 M2C	| 44 SLINE  | 46 DSLINE |
Packit Service 82fcde
	| 48 BSLINE*| 4A DEFD	| 4C        | 4E	|
Packit Service 82fcde
	| 50 EHDECL*| 52	| 54 CATCH  | 56        |
Packit Service 82fcde
	| 58        | 5A        | 5C        | 5E	|
Packit Service 82fcde
	| 60 SSYM   | 62	| 64 SO	    | 66 	|
Packit Service 82fcde
	| 68 	    | 6A	| 6C	    | 6E	|
Packit Service 82fcde
	| 70	    | 72	| 74	    | 76	|
Packit Service 82fcde
	| 78	    | 7A	| 7C	    | 7E	|
Packit Service 82fcde
	| 80 LSYM   | 82 BINCL	| 84 SOL    | 86	|
Packit Service 82fcde
	| 88	    | 8A	| 8C	    | 8E	|
Packit Service 82fcde
	| 90	    | 92	| 94	    | 96	|
Packit Service 82fcde
	| 98	    | 9A	| 9C	    | 9E	|
Packit Service 82fcde
	| A0 PSYM   | A2 EINCL	| A4 ENTRY  | A6	|
Packit Service 82fcde
	| A8	    | AA	| AC	    | AE	|
Packit Service 82fcde
	| B0	    | B2	| B4	    | B6	|
Packit Service 82fcde
	| B8	    | BA	| BC	    | BE	|
Packit Service 82fcde
	| C0 LBRAC  | C2 EXCL	| C4 SCOPE  | C6	|
Packit Service 82fcde
	| C8	    | CA	| CC	    | CE	|
Packit Service 82fcde
	| D0	    | D2	| D4	    | D6	|
Packit Service 82fcde
	| D8	    | DA	| DC	    | DE	|
Packit Service 82fcde
	| E0 RBRAC  | E2 BCOMM	| E4 ECOMM  | E6	|
Packit Service 82fcde
	| E8 ECOML  | EA	| EC	    | EE	|
Packit Service 82fcde
	| F0	    | F2	| F4	    | F6	|
Packit Service 82fcde
	| F8	    | FA	| FC	    | FE LENG	|
Packit Service 82fcde
	+-----------------------------------------------+
Packit Service 82fcde
 * 50 EHDECL is also MOD2.
Packit Service 82fcde
 * 48 BSLINE is also BROWS.
Packit Service 82fcde
 */