News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

New GoLink Bug (or new user error?)

Started by Paul, February 05, 2009, 11:06:16 PM

Previous topic - Next topic

Paul

Hi All,

I am trying latest GoLink (0.26.10 beta2) and it is failing with a 'symbol was not defined' error.

The scenario is, again, an object file produced with GoAsm linked to a bunch of .obj files produced by VC. Here are the phenomena:


C:\GoASM>golink @drddb.lnk

GoLink.Exe Version 0.26.10 beta2- Copyright Jeremy Gordon 2002/9-JG@JGnet.co.uk

C:\GoASM\drddb.obj
    Made on Thursday, February 05, 2009 at 5:41 PM size: 9,589 bytes
C:\GoASM\ddb_format.obj
    Made on Thursday, February 05, 2009 at 5:20 PM size: 2,860 bytes
C:\GoASM\ddb_util.obj
    Made on Thursday, February 05, 2009 at 5:23 PM size: 5,997 bytes
C:\GoASM\ddb_insertion.obj
    Made on Thursday, February 05, 2009 at 5:20 PM size: 7,086 bytes
C:\GoASM\ddb_search.obj
    Made on Thursday, February 05, 2009 at 5:20 PM size: 10,196 bytes
C:\GoASM\ddb_CIUtil.obj
    Made on Thursday, February 05, 2009 at 5:20 PM size: 9,398 bytes
C:\GoASM\ullshr.obj
    Made on Tuesday, November 06, 2007 at 7:17 PM size: 1,382 bytes
C:\GoASM\llshr.obj
    Made on Tuesday, November 06, 2007 at 7:17 PM size: 1,370 bytes
C:\GoASM\llmul.obj
    Made on Tuesday, November 06, 2007 at 7:17 PM size: 1,362 bytes
C:\WINDOWS\system32\kernel32.dll
    Made on Tuesday, August 03, 2004 at 11:56 PM size: 983,552 bytes
    Number of required imports found in this file: 12
C:\WINDOWS\system32\user32.dll
    Made on Tuesday, August 03, 2004 at 11:56 PM size: 577,024 bytes
    Number of required imports found in this file: 1
C:\WINDOWS\system32\msvcrt.dll
    Made on Tuesday, August 03, 2004 at 11:56 PM size: 343,040 bytes
    Number of required imports found in this file: 4

Error!
The following symbol was not defined in the object file or files:-
_delete_ddb
Output file not made

Here is the link file (drddb.lnk):

drddb.obj
ddb_format.obj
ddb_util.obj
ddb_insertion.obj
ddb_search.obj
ddb_CIUtil.obj
ddb_delete
ddb_init

ullshr.obj
llshr.obj
llmul.obj

-files
-console
-debug coff

kernel32.dll
user32.dll
msvcrt.dll

What's most interesting to me about this is that -files does not show the last two .obj files named by the link file: ddb_delete and ddb_init. The unfound symbol is the name of a function in ddb_delete.  My source code references this name as '_delete_ddb.' Please note that the linker has no difficulty resolving, say, the C function 'insert' which is defined in ddb_insertion.obj. In this case my source code references this name as '_insert.'

Nota bene: I tried the new -mix switch to no avail. This simply changed the unfound symbol from '_delete_ddb' to 'delete_ddb.'

Is -files truncating the list of processed files after 6 files, or is reflecting the fact that GoLink is not processing more than the first 6 files?

As always, thanks for your help.

Cordially,

Paul

Paul

Sorry, that was dumb of me. I could have tested my own conjecture by shifting the sequence of object files in the link file before I posted.

I just tried moving ddb_delete.obj to the top of the list, but it made no difference to the phenomena.

-Paul

wjr

In the above link file, the .obj extension is missing from the ddb_delete and ddb_init files. That is most likely the source of the error.

Paul

Beatiful; thanks.

New user error it is!  ::)

Cordially,

Paul