Extend the object code format by adding a (currently empty) scope table.

Use the address size for import, export and debug symbols (object code
change).
More changes to support the --memory-model switch and address sizes.


git-svn-id: svn://svn.cc65.org/cc65/trunk@2691 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz
2003-11-28 22:12:14 +00:00
parent e3eea961c2
commit 8f9a21ae3f
35 changed files with 589 additions and 254 deletions

View File

@@ -83,7 +83,9 @@ static ObjHeader Header = {
0, /* 32: Offset to string pool */
0, /* 32: Size of string pool */
0, /* 32: Offset to assertion table */
0 /* 32: Size of assertion table */
0, /* 32: Size of assertion table */
0, /* 32: Offset into scope table */
0, /* 32: Size of scope table */
};
@@ -138,6 +140,8 @@ static void ObjWriteHeader (void)
ObjWrite32 (Header.StrPoolSize);
ObjWrite32 (Header.AssertOffs);
ObjWrite32 (Header.AssertSize);
ObjWrite32 (Header.ScopeOffs);
ObjWrite32 (Header.ScopeSize);
}
@@ -462,3 +466,19 @@ void ObjEndAssertions (void)
void ObjStartScopes (void)
/* Mark the start of the scope table */
{
Header.ScopeOffs = ftell (F);
}
void ObjEndScopes (void)
/* Mark the end of the scope table */
{
Header.ScopeSize = ftell (F) - Header.ScopeOffs;
}