mirror of
https://github.com/9fans/plan9port.git
synced 2025-01-15 11:20:03 +00:00
117 lines
1.8 KiB
C
117 lines
1.8 KiB
C
typedef struct StabSym StabSym;
|
|
typedef struct Stab Stab; /* defined in mach.h */
|
|
|
|
struct StabSym
|
|
{
|
|
char *name;
|
|
uchar type;
|
|
uchar other;
|
|
u16int desc;
|
|
u32int value;
|
|
};
|
|
|
|
enum
|
|
{
|
|
EXT = 0x01,
|
|
|
|
N_UNDEF = 0x00,
|
|
N_ABS = 0x02,
|
|
N_TEXT = 0x04,
|
|
N_DATA = 0x06,
|
|
N_BSS = 0x08,
|
|
N_INDR = 0x0A,
|
|
N_FN_SEQ = 0x0C,
|
|
N_WEAKU = 0x0D,
|
|
N_WEAKA = 0x0E,
|
|
N_WEAKT = 0x0F,
|
|
N_WEAKD = 0x10,
|
|
N_WEAKB = 0x11,
|
|
N_COMM = 0x12,
|
|
N_SETA = 0x14,
|
|
N_SETT = 0x16,
|
|
|
|
N_GSYM = 0x20,
|
|
N_FNAME = 0x22,
|
|
N_FUN = 0x24,
|
|
N_STSYM = 0x26,
|
|
N_LCSYM = 0x28,
|
|
N_MAIN = 0x2A,
|
|
N_ROSYM = 0x2C,
|
|
N_PC = 0x30,
|
|
N_NSYMS = 0x32,
|
|
N_NOMAP = 0x34,
|
|
N_OBJ = 0x38,
|
|
N_OPT = 0x3C,
|
|
N_RSYM = 0x40,
|
|
N_M2C = 0x42,
|
|
N_SLINE = 0x44,
|
|
N_DSLINE = 0x46,
|
|
N_BSLINE = 0x48,
|
|
N_BROWS = 0x48,
|
|
N_DEFD = 0x4A,
|
|
N_FLINE = 0x4C,
|
|
N_EHDECL = 0x50,
|
|
N_MOD2 = 0x50,
|
|
N_CATCH = 0x54,
|
|
N_SSYM = 0x60,
|
|
N_ENDM = 0x62,
|
|
N_SO = 0x64,
|
|
N_ALIAS = 0x6C,
|
|
N_LSYM = 0x80,
|
|
N_BINCL = 0x82,
|
|
N_SOL = 0x84,
|
|
N_PSYM = 0xA0,
|
|
N_EINCL = 0xA2,
|
|
N_ENTRY = 0xA4,
|
|
N_LBRAC = 0xC0,
|
|
N_EXCL = 0xC2,
|
|
N_SCOPE = 0xC4,
|
|
N_RBRAC = 0xE0,
|
|
N_BCOMM = 0xE2,
|
|
N_ECOMM = 0xE4,
|
|
N_ECOML = 0xE8,
|
|
N_WITH = 0xEA,
|
|
N_LENG = 0xFE
|
|
};
|
|
|
|
/*
|
|
symbol descriptors
|
|
|
|
[(0-9\-] variable on stack
|
|
: C++ nested symbol
|
|
a parameter by reference
|
|
b based variable
|
|
c constant
|
|
C conformant array bound
|
|
name of caught exception (N_CATCH)
|
|
d fp register variable
|
|
D fp parameter
|
|
f file scope function
|
|
F global function
|
|
G global variable
|
|
i register parameter?
|
|
I nested procedure
|
|
J nested function
|
|
L label name
|
|
m module
|
|
p arg list parameter
|
|
pP
|
|
pF
|
|
P register param (N_PSYM)
|
|
proto of ref fun (N_FUN)
|
|
Q static procedure
|
|
R register param
|
|
r register variable
|
|
S file scope variable
|
|
s local variable
|
|
t type name
|
|
T sue tag
|
|
v param by reference
|
|
V procedure scope static variable
|
|
x conformant array
|
|
X function return variable
|
|
|
|
*/
|
|
|
|
int stabsym(Stab*, int, StabSym*);
|
|
|