1 /* ----------------------------------------------------------------------- *
3 * Copyright 1996-2018 The NASM Authors - All Rights Reserved
4 * See the file AUTHORS included with the NASM distribution for
5 * the specific copyright holders.
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following
11 * * Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer.
13 * * Redistributions in binary form must reproduce the above
14 * copyright notice, this list of conditions and the following
15 * disclaimer in the documentation and/or other materials provided
16 * with the distribution.
18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
19 * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
20 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
21 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
23 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
25 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
26 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 * ----------------------------------------------------------------------- */
53 /* stab/non-stab types */
55 N_UNDF
= 0x00, /* Undefined symbol */
56 N_EXT
= 0x01, /* External symbol */
57 N_ABS
= 0x02, /* Absolute symbol */
58 N_ABS_EXT
= 0x03, /* Absolute external symbol */
59 N_TEXT
= 0x04, /* Symbol in text segment */
60 N_TEXT_EXT
= 0x05, /* Symbol in external text segment */
66 N_FN_SEQ
= 0x0c, /* N_FN from Sequent compilers */
67 N_WEAKU
= 0x0d, /* Weak undefined symbol */
68 N_WEAKA
= 0x0e, /* Weak absolute symbl */
69 N_WEAKT
= 0x0f, /* Weak text symbol */
70 N_WEAKD
= 0x10, /* Weak data symbol */
71 N_WEAKB
= 0x11, /* Weak bss symbol */
72 N_COMM
= 0x12, /* Common symbol */
73 N_SETA
= 0x14, /* Absolute set element symbol */
75 N_SETT
= 0x16, /* Text set element symbol */
77 N_SETD
= 0x18, /* Data set element symbol */
79 N_SETB
= 0x1a, /* BSS set element symbol */
81 N_SETV
= 0x1c, /* Pointer to set vector in data area */
83 N_WARNING
= 0x1e, /* Warning symbol */
84 N_FN
= 0x1f, /* Filename of .o file */
85 N_GSYM
= 0x20, /* Global variable */
86 N_FNAME
= 0x22, /* Function name for BSD Fortran */
87 N_FUN
= 0x24, /* Function name or text segment variable for C */
88 N_STSYM
= 0x26, /* Data-segment variable with internal linkage */
89 N_LCSYM
= 0x28, /* BSS-segment variable with internal linkage */
90 N_MAIN
= 0x2a, /* Name of main routine */
91 N_ROSYM
= 0x2c, /* Read-only data symbols */
92 N_BNSYM
= 0x2e, /* The beginning of a relocatable function block */
93 N_PC
= 0x30, /* Global symbol in Pascal */
94 N_NSYMS
= 0x32, /* Number of symbols */
95 N_NOMAP
= 0x34, /* No DST map for sym */
96 N_OBJ
= 0x38, /* Like N_SO, but for the object file */
97 N_OPT
= 0x3c, /* Options for the debugger */
98 N_RSYM
= 0x40, /* Register variable */
99 N_M2C
= 0x42, /* Modula-2 compilation unit */
100 N_SLINE
= 0x44, /* Line number in text segment */
101 N_DSLINE
= 0x46, /* Line number in data segment */
102 N_BSLINE
= 0x48, /* Line number in bss segment */
103 N_BROWS
= 0x48, /* Sun's source-code browser stabs */
104 N_DEFD
= 0x4a, /* GNU Modula-2 definition module dependency */
105 N_FLINE
= 0x4c, /* Function start/body/end line numbers */
106 N_ENSYM
= 0x4e, /* This tells the end of a relocatable function */
107 N_EHDECL
= 0x50, /* GNU C++ exception variable */
108 N_MOD2
= 0x50, /* Modula2 info "for imc" */
109 N_CATCH
= 0x54, /* GNU C++ `catch' clause */
110 N_SSYM
= 0x60, /* Structure or union element */
111 N_ENDM
= 0x62, /* Last stab emitted for module */
112 N_SO
= 0x64, /* ID for main source file */
113 N_OSO
= 0x66, /* Apple: This is the stab that associated the .o file */
114 N_ALIAS
= 0x6c, /* SunPro F77: Name of alias */
115 N_LSYM
= 0x80, /* Automatic variable in the stack */
116 N_BINCL
= 0x82, /* Beginning of an include file */
117 N_SOL
= 0x84, /* ID for sub-source file */
118 N_PSYM
= 0xa0, /* Parameter variable */
119 N_EINCL
= 0xa2, /* End of an include file */
120 N_ENTRY
= 0xa4, /* Alternate entry point */
121 N_LBRAC
= 0xc0, /* Beginning of lexical block */
122 N_EXCL
= 0xc2, /* Place holder for deleted include file */
123 N_SCOPE
= 0xc4, /* Modula-2 scope information */
124 N_PATCH
= 0xd0, /* Solaris2: Patch Run Time Checker */
125 N_RBRAC
= 0xe0, /* End of a lexical block */
126 N_BCOMM
= 0xe2, /* Begin named common block */
127 N_ECOMM
= 0xe4, /* End named common block */
128 N_ECOML
= 0xe8, /* Member of a common block */
129 N_WITH
= 0xea, /* Solaris2: Pascal "with" statement */
135 N_LENG
= 0xfe /* Second symbol entry whih a length-value for the preceding entry */
138 enum stab_source_file
{
145 N_SO_FORTRAN90
= 0x07,
150 #endif /* STABS_H_ */