More work on high level language debug symbols. They are now passed correctly

via the object files to the linker and written to the debug info file.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5285 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
uz
2011-08-30 11:42:26 +00:00
parent 2f82cb4fb8
commit aaa21c6417
16 changed files with 339 additions and 45 deletions

View File

@@ -56,9 +56,12 @@
/* Forwards */
struct HLLDbgSym;
/* Bits for the Flags value in SymEntry */
#define SF_NONE 0x0000 /* Empty flag set */
#define SF_USER 0x0001 /* User bit */
#define SF_USER 0x0001 /* User bit */
#define SF_UNUSED 0x0002 /* Unused entry */
#define SF_EXPORT 0x0004 /* Export this symbol */
#define SF_IMPORT 0x0008 /* Import this symbol */
@@ -87,7 +90,7 @@ struct SymEntry {
SymEntry* Locals; /* Root of subtree for local symbols */
union {
struct SymTable* Tab; /* Table this symbol is in */
struct SymEntry* Entry;
struct SymEntry* Entry; /* Parent for cheap locals */
} Sym;
Collection DefLines; /* Line infos for definition */
Collection RefLines; /* Line infos for references */
@@ -97,6 +100,7 @@ struct SymEntry {
* used. Currently only for zero page
* addressing
*/
struct HLLDbgSym* HLLSym; /* Symbol from high level language */
unsigned Flags; /* Symbol flags */
unsigned DebugSymId; /* Debug symbol id */
unsigned ImportId; /* Id of import if this is one */