Version 2.05.01
* Fix the -w/-W option parsing, which was broken in NASM 2.05.
Version 2.05
* Fix redundant REX.W prefix on JMP reg64.
* Make the behaviour of -O0 match NASM 0.98 legacy behavior.
See section 2.1.22.
* -w-user can be used to suppress the output of %warning
directives. See section 2.1.24.
* Fix bug where ALIGN would issue a full alignment datum instead
of zero bytes.
* Fix offsets in list files.
* Fix %include inside multi-line macros or loops.
* Fix error where NASM would generate a spurious warning on
valid optimizations of immediate values.
* Fix arguments to a number of the CVT SSE instructions.
* Fix RIP-relative offsets when the instruction carries an immediate.
* Massive overhaul of the ELF64 backend for spec compliance.
* Fix the Geode PFRCPV and PFRSQRTV instruction.
* Fix the SSE 4.2 CRC32 instruction.
Version 2.04
* Sanitize macro handing in the %error directive.
* New %warning directive to issue user-controlled warnings.
* %error directives are now deferred to the final assembly phase.
* New %fatal directive to immediately terminate assembly.
* New %strcat directive to join quoted strings together.
* New %use macro directive to support standard macro directives.
See section 4.6.4.
* Excess default parameters to %macro now issues a warning by
default. See section 4.3.
* Fix %ifn and %elifn.
* Fix nested %else clauses.
* Correct the handling of nested %reps.
* New %unmacro directive to undeclare a multi-line macro. See
section 4.3.10.
* Builtin macro __PASS__ which expands to the current assembly
pass. See section 4.11.9.
* __utf16__ and __utf32__ operators to generate UTF-16 and
UTF-32 strings. See section 3.4.5.
* Fix bug in case-insensitive matching when compiled on platforms
that don't use the configure script. Of the official release
binaries, that only affected the OS/2 binary.
* Support for x87 packed BCD constants. See section 3.4.7.
* Correct the LTR and SLDT instructions in 64-bit mode.
* Fix unnecessary REX.W prefix on indirect jumps in 64-bit mode.
* Add AVX versions of the AES instructions (VAES...).
* Fix the 256-bit FMA instructions.
* Add 256-bit AVX stores per the latest AVX spec.
* VIA XCRYPT instructions can now be written either with or
without REP, apparently different versions of the VIA spec
wrote them differently.
* Add missing 64-bit MOVNTI instruction.
* Fix the operand size of VMREAD and VMWRITE.
* Numerous bug fixes, especially to the AES, AVX and VTX instructions.
* The optimizer now always runs until it converges. It also
runs even when disabled, but doesn't optimize. This allows most
forward references to be resolved properly.
2.03.01
-------
* Fix buffer overflow in the listing module.
* Fix the handling of hexadecimal escape codes in `...` strings.
* The Postscript/PDF documentation has been reformatted.
* The -F option now implies -g.
2.03
----
* Add support for Intel AVX, CLMUL and FMA instructions,
including YMM registers.
* "dy", "resy" and "yword" for 32-byte operands.
* Fix some SSE5 instructions.
* Intel INVEPT, INVVPID and MOVBE instructions.
* Fix checking for critical expressions when the optimizer is enabled.
* Support the DWARF debugging format for ELF targets.
* Fix optimizations of signed bytes.
* Fix operation on bigendian machines.
* Fix buffer overflow in the preprocessor.
* SAFESEH support for Win32, IMAGEREL for Win64 (SEH).
* %? and %?? to refer to the name of a macro itself. In particular,
"%idefine keyword $%?" can be used to make a keyword "disappear".
* New options for dependency generation: -MD, -MF, -MP, -MT, -MQ.
* New preprocessor directives %pathsearch and %depend; INCBIN
reimplemented as a macro.
* %include now resolves macros in a sane manner.
* %substr can now be used to get other than one-character substrings.
* New type of character/string constants, using backquotes (`...`),
which support C-style escape sequences.
* %defstr and %idefstr to stringize macro definitions before creation.
* Fix forward references used in EQU statements.
changes:
-bugfixes
-documentation improvements
-ELF: Experimental support for DWARF debugging information
-New compile date and time standard macros
-%ifnum now returns true for negative numbers
-Add support for the XSAVE instruction group
please see the ChangeLog if interested.
All patches except Makefile patches are no longer necessary.
While here, add -Wno-signed-char to quiet these warnings.
Also change INSTALLATION_DIRS to AUTO_MKDIRS, quiet pkglint
by setting INFO_FILES=yes.
makeinfo if no native makeinfo executable exists. Honor TEXINFO_REQD
when determining whether the native makeinfo can be used.
* Remove USE_MAKEINFO and replace it with USE_TOOLS+=makeinfo.
* Get rid of all the "split" argument deduction for makeinfo since
the PLIST module already handles varying numbers of split info files
correctly.
NOTE: Platforms that have "makeinfo" in the base system should check
that the makeinfo entries of pkgsrc/mk/tools.${OPSYS}.mk are
correct.
developer is officially maintaining the package.
The rationale for changing this from "tech-pkg" to "pkgsrc-users" is
that it implies that any user can try to maintain the package (by
submitting patches to the mailing list). Since the folks most likely
to care about the package are the folks that want to use it or are
already using it, this would leverage the energy of users who aren't
developers.
around at either build-time or at run-time is:
USE_TOOLS+= perl # build-time
USE_TOOLS+= perl:run # run-time
Also remove some places where perl5/buildlink3.mk was being included
by a package Makefile, but all that the package wanted was the Perl
executable.
* Add Makefile for 16-bit DOS binaries under OpenWatcom, and modify
mkdep.pl to be able to generate completely pathless dependencies, as
required by OpenWatcom wmake (it supports path searches, but not
explicit paths.)
* Fix the STR instruction.
* Fix the ELF output format, which was broken under certain
circumstances due to the addition of stabs support.
* Quick-fix Borland format debug-info for -f obj
* Fix for %rep with no arguments (#560568)
* Fix concatenation of preprocessor function call (#794686)
* Fix long label causes coredump (#677841)
* Use autoheader as well as autoconf to keep configure from generating
ridiculously long command lines.
* Make sure that all of the formats which support debugging output
actually will suppress debugging output when -g not specified.