|
|
1.1 root 1: #ifndef _MACHO_STAB_H_
2: #define _MACHO_STAB_H_
3: /*
4: * Copyright (c) 1980 Regents of the University of California.
5: * All rights reserved. The Berkeley software License Agreement
6: * specifies the terms and conditions for redistribution.
7: *
8: * @(#)stab.h 5.1 (Berkeley) 5/30/85
9: */
10:
11: /* IF YOU ADD DEFINITIONS, ADD THEM TO nm.c as well */
12: /*
13: * This file gives definitions supplementing <nlist.h> for permanent symbol
14: * table entries of Mach-O files. Modified from the 4.3BSD definitions. The
15: * modifications from the original definitions were changing what the values of
16: * what was the n_other field (an unused field) which is now the n_sect field.
17: * These modifications are required to support symbols in an arbitrary number of
18: * sections not just the three sections (text, data and bss) in a 4.3BSD file.
19: * The values of the defined constants have NOT been changed.
20: *
21: * These must have one of the N_STAB bits on. The n_value fields are subject
22: * to relocation according to the value of their n_sect field. So for types
23: * that refer to things in sections the n_sect field must be filled in with the
24: * proper section ordinal. For types that are not to have their n_value field
25: * relocatated the n_sect field must be NO_SECT.
26: */
27:
28: /*
29: * Symbolic debugger symbols. The comments give the conventional use for
30: *
31: * .stabs "n_name", n_type, n_sect, n_desc, n_value
32: *
33: * where n_type is the defined constant and not listed in the comment. Other
34: * fields not listed are zero. n_sect is the section ordinal the entry is
35: * refering to.
36: */
37: #define N_GSYM 0x20 /* global symbol: name,,NO_SECT,type,0 */
38: #define N_FNAME 0x22 /* procedure name (f77 kludge): name,,NO_SECT,0,0 */
39: #define N_FUN 0x24 /* procedure: name,,n_sect,linenumber,address */
40: #define N_STSYM 0x26 /* static symbol: name,,n_sect,type,address */
41: #define N_LCSYM 0x28 /* .lcomm symbol: name,,n_sect,type,address */
42: #define N_RSYM 0x40 /* register sym: name,,NO_SECT,type,register */
43: #define N_SLINE 0x44 /* src line: 0,,n_sect,linenumber,address */
44: #define N_SSYM 0x60 /* structure elt: name,,NO_SECT,type,struct_offset */
45: #define N_SO 0x64 /* source file name: name,,n_sect,0,address */
46: #define N_LSYM 0x80 /* local sym: name,,NO_SECT,type,offset */
47: #define N_SOL 0x84 /* #included file name: name,,n_sect,0,address */
48: #define N_PSYM 0xa0 /* parameter: name,,NO_SECT,type,offset */
49: #define N_ENTRY 0xa4 /* alternate entry: name,,n_sect,linenumber,address */
50: #define N_LBRAC 0xc0 /* left bracket: 0,,NO_SECT,nesting level,address */
51: #define N_RBRAC 0xe0 /* right bracket: 0,,NO_SECT,nesting level,address */
52: #define N_BCOMM 0xe2 /* begin common: name,,NO_SECT,0,0 */
53: #define N_ECOMM 0xe4 /* end common: name,,n_sect,0,0 */
54: #define N_ECOML 0xe8 /* end common (local name): 0,,n_sect,0,address */
55: #define N_LENG 0xfe /* second stab entry with length information */
56:
57: /*
58: * for the berkeley pascal compiler, pc(1):
59: */
60: #define N_PC 0x30 /* global pascal symbol: name,,NO_SECT,subtype,line */
61:
62: #endif _MACHO_STAB_H_
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.