New versions of GoAsm (0.57.0) and Golink (0.27.0)

Started by jorgon, February 16, 2012, 09:53:08 PM

Previous topic - Next topic

jorgon

My considerable thanks to Wayne Radburn for working on the source to produce these latest versions of GoAsm and GoLink, providing some enhancements and dealing with some bug reports which have built up.

The new version of GoAsm (version 0.57) is available from here and for the GoLink enhancements you will need the new version of GoLink (version 0.27) which is available from here.

The enhancements which Wayne has added are:-

  • GoAsm setting for how a section is aligned, using "ALIGN xxx" after a section declaration in the assembler source.  If this is omitted the default section alignment is 16 bytes.  (To use this enhancement you must also use the new GoLink since the alignment instruction is given to GoLink in the object file).  This should be used if manually adding a SafeSEH Table (described in the GoLink help file) or 64-bit exception handling .xdata .pdata. Wayne is working on further enhancements that will automatically add this information.
  • GoLink handles manually added SafeSEH table and .xdata .pdata.  This is described in the GoLink help file.
  • GoAsm switchable P value, which works in a similar way to the switchable S value (described in "Writing Unicode Programs" in the GoAsm help file).  It has a default value of 4 whereas the S value has a default value of 1.  See this thread for the rationale and use of this switch.
  • New GoLink command line options /NXCOMPAT and /DYNAMICBASE.  These are described in the GoLink help file.

The bugs which Wayne has fixed in GoAsm are:-

  • Sometimes problem initialising a named union using {name=init} (braces)
  • USES fault in /x86 compatibility mode
  • STRINGS and DATABLOCK faults in 64-bit mode
  • Scaled Index fault in 64-bit mode when using defined symbol for the scale factor
  • INVOKE changed flags in 64-bit mode
  • MOV r64 problem with signed 32-bit constants
Author of the "Go" tools (GoAsm, GoLink, GoRC, GoBug)

Yuri

OK, now I am again with my beloved carry flag as the result indicator. :8) Thanks, Jeremy and Wayne, for all the improvements. I can't speak for everybody, but I personally appreciate your work very much. :clap: