X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?p=rmac;a=blobdiff_plain;f=symbol.h;h=4a84345aaaa8041fd2e497203da35903dccc8d7c;hp=1a27a6b02736f42a52abe311461bcc1242a4d48a;hb=HEAD;hpb=2e6a046d5d7e2c1863179c4dce8ef7505ff6dd6c diff --git a/symbol.h b/symbol.h index 1a27a6b..4a84345 100644 --- a/symbol.h +++ b/symbol.h @@ -37,6 +37,9 @@ SYM LLIST * last; // * -> end of macro linked list uint16_t cfileno; // File the macro is defined in uint32_t uid; // Symbol's unique ID + uint8_t st_type; // stabs debug symbol's "type" field + uint8_t st_other; // stabs debug symbol's "other" field + uint16_t st_desc; // stabs debug symbol's "description" field }; // Exported variables @@ -46,7 +49,7 @@ extern uint32_t firstglobal;// Index of the fist global symbol in an ELF object. // Exported functions SYM * lookup(uint8_t *, int, int); void InitSymbolTable(void); -SYM * NewSymbol(uint8_t *, int, int); +SYM * NewSymbol(const uint8_t *, int, int); void AddToSymbolDeclarationList(SYM *); void ForceUndefinedSymbolsGlobal(void); int symtable(void); @@ -54,6 +57,12 @@ uint32_t AssignSymbolNos(uint8_t *, uint8_t *(*)()); uint32_t AssignSymbolNosELF(uint8_t *, uint8_t *(*)()); void DumpLODSymbols(void); uint8_t * GetSymbolNameByUID(uint32_t); +SYM * NewDebugSymbol(const uint8_t *, uint8_t, uint8_t, uint16_t); +void GenMainFileSym(const char *); +void GenLineNoSym(void); + +// Helper to avoid unnecessary branches: +#define GENLINENOSYM() if (dsym_flag) GenLineNoSym() #endif // __SYMBOL_H__