plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

stabs.h (1862B)


      1 typedef struct StabSym StabSym;
      2 typedef struct Stab Stab;	/* defined in mach.h */
      3 
      4 struct StabSym
      5 {
      6 	char *name;
      7 	uchar type;
      8 	uchar other;
      9 	u16int desc;
     10 	u32int value;
     11 };
     12 
     13 enum
     14 {
     15 	EXT = 0x01,
     16 
     17 	N_UNDEF = 0x00,
     18 	N_ABS = 0x02,
     19 	N_TEXT = 0x04,
     20 	N_DATA = 0x06,
     21 	N_BSS = 0x08,
     22 	N_INDR = 0x0A,
     23 	N_FN_SEQ = 0x0C,
     24 	N_WEAKU = 0x0D,
     25 	N_WEAKA = 0x0E,
     26 	N_WEAKT = 0x0F,
     27 	N_WEAKD = 0x10,
     28 	N_WEAKB = 0x11,
     29 	N_COMM = 0x12,
     30 	N_SETA = 0x14,
     31 	N_SETT = 0x16,
     32 
     33 	N_GSYM = 0x20,
     34 	N_FNAME = 0x22,
     35 	N_FUN = 0x24,
     36 	N_STSYM = 0x26,
     37 	N_LCSYM = 0x28,
     38 	N_MAIN = 0x2A,
     39 	N_ROSYM = 0x2C,
     40 	N_PC = 0x30,
     41 	N_NSYMS = 0x32,
     42 	N_NOMAP = 0x34,
     43 	N_OBJ = 0x38,
     44 	N_OPT = 0x3C,
     45 	N_RSYM = 0x40,
     46 	N_M2C = 0x42,
     47 	N_SLINE = 0x44,
     48 	N_DSLINE = 0x46,
     49 	N_BSLINE = 0x48,
     50 	N_BROWS = 0x48,
     51 	N_DEFD = 0x4A,
     52 	N_FLINE = 0x4C,
     53 	N_EHDECL = 0x50,
     54 	N_MOD2 = 0x50,
     55 	N_CATCH = 0x54,
     56 	N_SSYM = 0x60,
     57 	N_ENDM = 0x62,
     58 	N_SO = 0x64,
     59 	N_ALIAS = 0x6C,
     60 	N_LSYM = 0x80,
     61 	N_BINCL = 0x82,
     62 	N_SOL = 0x84,
     63 	N_PSYM = 0xA0,
     64 	N_EINCL = 0xA2,
     65 	N_ENTRY = 0xA4,
     66 	N_LBRAC = 0xC0,
     67 	N_EXCL = 0xC2,
     68 	N_SCOPE = 0xC4,
     69 	N_RBRAC = 0xE0,
     70 	N_BCOMM = 0xE2,
     71 	N_ECOMM = 0xE4,
     72 	N_ECOML = 0xE8,
     73 	N_WITH = 0xEA,
     74 	N_LENG = 0xFE
     75 };
     76 
     77 /*
     78  symbol descriptors
     79 
     80 [(0-9\-]	variable on stack
     81 :		C++ nested symbol
     82 a		parameter by reference
     83 b		based variable
     84 c		constant
     85 C		conformant array bound
     86 		name of caught exception (N_CATCH)
     87 d		fp register variable
     88 D		fp parameter
     89 f		file scope function
     90 F		global function
     91 G		global variable
     92 i		register parameter?
     93 I		nested procedure
     94 J		nested function
     95 L		label name
     96 m		module
     97 p		arg list parameter
     98 pP
     99 pF
    100 P		register param (N_PSYM)
    101 		proto of ref fun (N_FUN)
    102 Q		static procedure
    103 R		register param
    104 r		register variable
    105 S		file scope variable
    106 s		local variable
    107 t		type name
    108 T		sue tag
    109 v		param by reference
    110 V		procedure scope static variable
    111 x		conformant array
    112 X		function return variable
    113 
    114 */
    115 
    116 int stabsym(Stab*, int, StabSym*);