Fixed a bug: If all output data was discarded (by using file = "" in the

linker config), CheckExports was never called, which in turn meant that
the list of all exports was never built. This caused a crash later when
the linker tried to generate a map file. The solution is to separate the
creation of the exports list and the check for unresolved imports.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3360 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz
2005-01-09 13:16:51 +00:00
parent a456e503e4
commit 9cd0b7705c
5 changed files with 29 additions and 13 deletions

View File

@@ -158,8 +158,13 @@ int IsConstExport (const Export* E);
long GetExportVal (const Export* E);
/* Get the value of this export */
void CheckExports (ExpCheckFunc F, void* Data);
/* Check if there are any unresolved symbols. On unresolved symbols, F is
void CheckExports (void);
/* Setup the list of all exports and check for export/import symbol type
* mismatches.
*/
void CheckUnresolvedImports (ExpCheckFunc F, void* Data);
/* Check if there are any unresolved imports. On unresolved imports, F is
* called (see the comments on ExpCheckFunc in the data section).
*/
@@ -189,7 +194,7 @@ void CircularRefError (const Export* E);
/* End of exports.h */
#endif