Annotation of GNUtools/cctools/include/mach-o/stab.h, revision 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.