Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

NASM 2.14.02 (Announce)

posted by rr(R) Homepage E-mail, Berlin, Germany, 28.04.2019, 13:23

On 26 December 2018 the NASM development team released version 2.14.02.

Home page:

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',

(*) 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

(*) 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

(*) 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

(*) Fixed out of bound access in processing of malformed segment

(*) 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.


Complete thread:

Back to the forum
Board view  Mix view
15835 Postings in 1460 Threads, 268 registered users, 26 users online (0 registered, 26 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum