Annotation of GNUtools/cctools/include/mach-o/stab.h, revision 1.1.1.1

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_

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.