X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Fld65%2Fdbgsyms.h;h=5ad169453f91a3c5f2deaf580910a47b164e9ea9;hb=7bd19b737aacfcf0d81e2bc3a6e537ee72a4eb2f;hp=1c65a5501b71b2589834504f0d53db5afe5d60df;hpb=097a01094eedd3b030c2c7a26ddc2ac5067ead28;p=cc65 diff --git a/src/ld65/dbgsyms.h b/src/ld65/dbgsyms.h index 1c65a5501..5ad169453 100644 --- a/src/ld65/dbgsyms.h +++ b/src/ld65/dbgsyms.h @@ -2,14 +2,14 @@ /* */ /* dbgsyms.h */ /* */ -/* Debug symbol handing for the ld65 linker */ +/* Debug symbol handling for the ld65 linker */ /* */ /* */ /* */ -/* (C) 1998 Ullrich von Bassewitz */ -/* Wacholderweg 14 */ -/* D-70597 Stuttgart */ -/* EMail: uz@musoftware.de */ +/* (C) 1998-2003 Ullrich von Bassewitz */ +/* Römerstrasse 52 */ +/* D-70794 Filderstadt */ +/* EMail: uz@cc65.org */ /* */ /* */ /* This software is provided 'as-is', without any expressed or implied */ @@ -43,7 +43,7 @@ /* common */ #include "exprdefs.h" #include "filepos.h" - + /* ld65 */ #include "objdata.h" @@ -56,15 +56,16 @@ /* Debug symbol structure */ -typedef struct DbgSym_ DbgSym; -struct DbgSym_ { +typedef struct DbgSym DbgSym; +struct DbgSym { DbgSym* Next; /* Pool linear list link */ unsigned Flags; /* Generic flags */ ObjData* Obj; /* Object file that exports the name */ FilePos Pos; /* File position of definition */ ExprNode* Expr; /* Expression (0 if not def'd) */ + unsigned Name; /* Name */ unsigned char Type; /* Type of symbol */ - char* Name; /* Name - dynamically allocated */ + unsigned char AddrSize; /* Address size of symbol */ }; @@ -78,9 +79,17 @@ struct DbgSym_ { DbgSym* ReadDbgSym (FILE* F, ObjData* Obj); /* Read a debug symbol from a file, insert and return it */ -long GetDbgSymVal (DbgSym* D); +long GetDbgSymVal (const DbgSym* D); /* Get the value of this symbol */ +void ClearDbgSymTable (void); +/* Clear the debug symbol table. Must be called before outputting debug syms + * or debug labels the first time. + */ + +void PrintDbgSyms (ObjData* O, FILE* F); +/* Print the debug symbols in a debug file */ + void PrintDbgSymLabels (ObjData* O, FILE* F); /* Print the debug symbols in a VICE label file */ @@ -92,4 +101,3 @@ void PrintDbgSymLabels (ObjData* O, FILE* F); -