The MASM Forum Archive 2004 to 2012

Project Support Forums => GoAsm Assembler and Tools => Topic started by: jorgon on November 14, 2006, 07:07:10 PM

Title: GoAsm 0.55.14 and GoLink 26.5
Post by: jorgon on November 14, 2006, 07:07:10 PM
The latest version of GoAsm available from here (http://www.jorgon.freeserve.co.uk/Goasm.zip):-

Title: Re: GoAsm 0.55.14 and GoLink 26.5
Post by: 1rDirEctoALgran0 on November 15, 2006, 07:29:45 PM
; Hi, Jeremy
; this new smart keyword have its bug...

;#DYNAMICLINKFILE "USER32.DLL" is OK
#DYNAMICLINKFILE USER32.DLL

   CODE
Start:   INVOKE MessageBoxA,0,"bug...","What is happen ?",0
   RET

/*

GoLink.Exe Version 0.26.5 - Copyright Jeremy Gordon 2002/6-JG@JGnet.co.uk

Error!
Could not open an input file (`USER32.DLL)
Output file not made

*/

; P.S. : If you want to see my personal bug collection on GoDevTool, say it to me... :P
Title: Re: GoAsm 0.55.14 and GoLink 26.5
Post by: jorgon on November 16, 2006, 09:07:40 AM
Hi 1rDirEctoALgran0

I tried to replicate this but couldn't.

Would you mind checking your source to see if you have a nasty single opening quote lurking just before USER32.DLL?  In some editors a single opening quote appears very faintly.

If this is not the case, would you mind either posting or sending to me your source so that I can check out this bug directly?  Thanks.
Title: Re: GoAsm 0.55.14 and GoLink 26.5
Post by: 1rDirEctoALgran0 on November 16, 2006, 09:19:26 AM
Hi Jeremy,

try the source "Inutile.ASM" simply like that :
goasm inutile.asm
golink inutile.obj

GoLink.Exe Version 0.26.5 - Copyright Jeremy Gordon 2002/6-JG@JGnet.co.uk

Error!
Could not open an input file (`USER32.DLL)
Output file not made

What is wrong ?

Patrick

Hint : The ` character (0x60) is not in my source but it is present in the obj file.


[attachment deleted by admin]
Title: Re: GoAsm 0.55.14 and GoLink 26.5
Post by: jorgon on November 16, 2006, 03:20:49 PM
QuoteWhat is wrong ?

Here is an exact report.

Because of the #dynamiclinkfile declaration, the string USER32.DLL was properly in the .drectve section material in the object file.  But since your file had no data section and no exports, the byte immediately before the string was value 60h which was what appeared as the `character in GoLink's error message.  In fact this byte was the top byte in the CHARACTERISTICS dword for the CODE section (characteristics EXECUTE and READ).  When GoLink was parsing the USER32.DLL filename it was unfortunately going back beyond the beginning of the .drectve material, and stopping on the 60h byte by mistake.  The problem did not appear if the sections were in a different order!

Thanks very much for reporting this bug and for posting your file.  The fix is here (http://www.jorgon.freeserve.co.uk/Golink.zip) (GoLink Version 26.6).