On 26 December 2018 the NASM development team released version 2.14.02.
Home page: http://www.nasm.us/
Download: https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/
Changelog: http://www.nasm.us/doc/nasmdocc.html
Changes since last announcement (version 2.13.02):
Version 2.14.02
(*) Fix crash due to multiple errors or warnings during the code
generation pass if a list file is specified.
Version 2.14.01
(*) Create all system-defined macros defore processing command-line
given preprocessing directives (`-p', `-d', `-u', `--pragma',
`--before').
(*) If debugging is enabled, define a `__DEBUG_FORMAT__' predefined
macro. See section 4.11.7.
(*) Fix an assert for the case in the `obj' format when a `SEG'
operator refers to an `EXTERN' symbol declared further down in
the code.
(*) Fix a corner case in the floating-point code where a binary,
octal or hexadecimal floating-point having at least 32, 11, or 8
mantissa digits could produce slightly incorrect results under
very specific conditions.
(*) Support `-MD' without a filename, for `gcc' compatibility. `-MF'
can be used to set the dependencies output filename. See section
2.1.7.
(*) Fix `-E' in combination with `-MD'. See section 2.1.21.
(*) Fix missing errors on redefined labels; would cause convergence
failure instead which is very slow and not easy to debug.
(*) Duplicate definitions of the same label _with the same value_ is
now explicitly permitted (2.14 would allow it in some
circumstances.)
(*) Add the option `--no-line' to ignore `%line' directives in the
source. See section 2.1.33 and section 4.10.1.
Version 2.14
(*) Changed `-I' option semantics by adding a trailing path
separator unconditionally.
(*) Fixed null dereference in corrupted invalid single line macros.
(*) Fixed division by zero which may happen if source code is
malformed.
(*) Fixed out of bound access in processing of malformed segment
override.
(*) Fixed out of bound access in certain `EQU' parsing.
(*) Fixed buffer underflow in float parsing.
(*) Added `SGX' (Intel Software Guard Extensions) instructions.
(*) Added `+n' syntax for multiple contiguous registers.
(*) Fixed `subsections_via_symbols' for `macho' object format.
(*) Added the `--gprefix', `--gpostfix', `--lprefix', and
`--lpostfix' command line options, to allow command line base
symbol renaming. See section 2.1.28.
(*) Allow label renaming to be specified by `%pragma' in addition to
from the command line. See section 6.9.
(*) Supported generic `%pragma' namespaces, `output' and `debug'.
See section 6.10.
(*) Added the `--pragma' command line option to inject a `%pragma'
directive. See section 2.1.29.
(*) Added the `--before' command line option to accept preprocess
statement before input. See section 2.1.30.
(*) Added `AVX512' `VBMI2' (Additional Bit Manipulation), `VNNI'
(Vector Neural Network), `BITALG' (Bit Algorithm), and `GFNI'
(Galois Field New Instruction) instructions.
(*) Added the `STATIC' directive for local symbols that should be
renamed using global-symbol rules. See section 6.8.
(*) Allow a symbol to be defined as `EXTERN' and then later
overridden as `GLOBAL' or `COMMON'. Furthermore, a symbol
declared `EXTERN' and then defined will be treated as `GLOBAL'.
See section 6.5.
(*) The `GLOBAL' directive no longer is required to precede the
definition of the symbol.
(*) Support `private_extern' as `macho' specific extension to the
`GLOBAL' directive. See section 7.8.5.
(*) Updated `UD0' encoding to match with the specification
(*) Added the `--limit-X' command line option to set execution
limits. See section 2.1.31.
(*) Updated the `Codeview' version number to be aligned with `MASM'.
(*) Added the `--keep-all' command line option to preserve output
files. See section 2.1.32.
(*) Added the `--include' command line option, an alias to `-P'
(section 2.1.18).
(*) Added the `--help' command line option as an alias to `-h'
(section 3.1).
(*) Added `-W', `-D', and `-Q' suffix aliases for `RET' instructions
so the operand sizes of these instructions can be encoded
without using `o16', `o32' or `o64'.
Version 2.13.03
(*) Added AVX and AVX512 `VAES*' and `VPCLMULQDQ' instructions.
(*) Fixed missing dwarf record in x32 ELF output format. --- Forum admin |