rr

Berlin, Germany, 14.07.2020, 22:21 |
NASM 2.15.02 (Announce) |
On 27 June 2020 the NASM development team released version 2.15.02.
Home page: https://nasm.us/
Download: https://www.nasm.us/pub/nasm/releasebuilds/2.15.02/
Changes since last announcement (version 2.14.02):
Version 2.15.02
(*) Fix miscompilation when building with `clang'.
(*) Add `db-empty' warning class, see section 2.1.26.
(*) Fix the dependencies in the MSVC NMAKE makefile
(`Mkfiles/msvc.mak').
(*) Some documentation improvements and cleanups.
(*) Fix the handling of macro parameter ranges (`%{:}'), including
with brace-enclosed original arguments.
Version 2.15.01
(*) Fix building the documentation from the release archive. For
2.15, the user has to do `make warnings' manually in the main
directory in order to be able to build the documentation, which
means Perl needs to be installed on the system.
(*) Add instructions for Intel Control Flow Enforcement Technology
(CET).
Version 2.15
(*) The comparison and booleanizing operators can now be used in any
expression context, not just `%if'. See section 3.5.
(*) New operator `?' ... `:'. See section 3.5.1.
(*) Signed shift operators `<<<' and `>>>'. See section 3.5.9.
(*) The MASM `DUP' syntax for data definitions is now supported, in
a somewhat enhanced form. See section 3.2.1.
(*) Warn for strange legacy behavior regarding empty arguments in
multi-line macro expansion, but try to match legacy behavior in
most cases. Legacy behavior can be disabled with the directive
`%pragma preproc sane_empty_expansion', see section 4.3 and
section 4.10.1.
(*) A much more sensible limit to expression evaluation depth. The
previously defined limit would rarely trigger before NASM died
with a stack overrun error on most systems. See section 2.1.31.
(*) The state of warnings can now be saved and restored via the
`[WARNING PUSH]' and `[WARNING POP]' directives. See section
7.13.
(*) The `sectalign on|off' switch does not affect an explicit
directive. See section 5.10.2.
(*) Added `configure' option to enable building with profiling
(`--enable-profiling').
(*) Attempt to support of long path names, up to 32767 of UTF-16
characters, on Windows.
(*) Fixed 'mismatch in operand sizes' error in the `MOVDDUP',
`CMPXCHG8B' and `CMPXCHG16B' instructions.
(*) Improved error messages in the string transformation routine.
(*) Removed obsolete `gnu-elf-extensions' warning about 8- and 16-
bit relocation generation. See section 8.9.8
(*) Added group aliases for all prefixed warnings. See section
2.1.26.
(*) Allowed building with MSVC versions older than 1700.
(*) Added implicitly sized versions of the `K...' instructions,
which allows the `K...' instructions to be specified without a
size suffix as long as the operands are sized.
(*) Added `-L' option for additional listing information. See
section 2.1.4.
(*) Added some warnings for obsolete instructions for a specified
CPU.
(*) Deprecated `-hf' and `-y' options. Use `-h' instead.
(*) Made DWARF as the default debug format for ELF.
(*) Added `%pragma list' _options..._ to set or clear listing
options (see `opt-L').
(*) Allowed immediate syntax for `LEA' instruction (ignore operand
size completely).
(*) Added limited functionality MASM compatibility package. See
section 6.5.
(*) Add single-line macros aliases using `%defalias' or
`%idefalias'. These behave like a kind of "symbolic links" for
single-line macros. See section 4.1.10 and `clear'.
(*) Added support for stringify, nostrip, evaluating, and greedy
single-line macro arguments. See section 4.1.1.
(*) Unused single-line macro arguments no longer need to have a
specified name. See section 4.1.1.
(*) Added conditional comma operator `%,'. See section 4.1.11.
(*) Changed private namespace from `__foo__' to `__?foo?__', so a
user namespace starting from underscore is now clean from
symbols. For backwards compatibility, the previous names are
defined as aliases; see section 4.1.10, section 4.11.3 and
chapter 5.
(*) Added support of ELF weak symbols and external references. See
section 8.9.5.
(*) Changed the behavior of the EXTERN keyword and introduced
REQUIRED keyword. See section 7.6.
(*) Added `%ifusable' and `%ifusing' directives. See chapter 6.
(*) Made various performance improvements and stability fixes in
macro preprocessor engine.
(*) Improved NASM error handling and cleaned up error messages.
(*) Many, many bug fixes.
Version 2.14.03
(*) Suppress nuisance "`label changed during code generation'"
messages after a real error.
(*) Add support for the `merge' and `strings' attributes on ELF
sections. See section 8.9.2.
(*) Add support for the `note', `preinit_array', `init_array', and
`fini_array' sections type in ELF. See section 8.9.2.
(*) Handle more than 32,633 sections in ELF. --- Forum admin |
Rugxulo

Usono, 23.07.2020, 05:40
@ rr
|
NASM 2.15.03 |
On 17 July 2020, the NASM development team released version 2.15.03.
Home page: https://nasm.us/
Download: https://www.nasm.us/pub/nasm/releasebuilds/2.15.03/
Changes since last announcement (version 2.15.02):
Version 2.15.03
(*) Add instructions from the Intel Instruction Set Extensions and Future Features Programming Reference, June 2020. This includes AVX5512 bfloat16, AVX512 mask intersect, and Intel Advanced Matrix Extensions (AMX).
(*) Support for bfloat16 floating-point constants. See section 3.4.6 and section 6.3.
(*) Properly display warnings in preprocess-only mode.
(*) Fix copy-and-paste of examples from the PDF documentation.
(*) Debug information now properly reflect the line numbers of macro invocations (unless declared .nolist).
(*) Fix excessive alignment of sections in the coff/win32/win64 output formats when the user-specified alignment is less than the default alignment for the section or section type.
(*) Fix explicit token pasting (%+, section 4.1.4) for the cases where one or more parts result from empty token expansion, resulting in %+ tokens at the beginning or end, or multiple ones in a row.
(*) Fix macro label capture (%00, section 4.3.7).
(*) Much better documentation for the MASM compatiblity package, %use masm (see section 6.5).
(*) Fix LEA without square brackets, for MASM compatibility.
(*) Portability fixes.
|
Rugxulo

Usono, 02.09.2020, 21:44
@ Rugxulo
|
NASM 2.15.05 |
On 28 August 2020, the NASM development team released version 2.15.05.
Home page: https://nasm.us/
Download: https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/
Changes since last announcement (version 2.15.03):
Version 2.15.05
(*) Correct %ifid $ and %ifid $$ being treated as true. See section 4.4.6.
(*)) Add --reproducible option to suppress NASM version numbers and timestamps in output files. See section 2.1.34.
...
(*) More sensible handling of the case where one single-line macro definition will shadow another. A warning will be issued, but the additional definition will be allowed. For the existing error case where both a parameterless and parametered macro are created, that warning is promoted to an error by default.
(*) Add special preprocessor tokens %*? and %*?? that expand like %? and %?? in single-line macros only. See section 4.1.6.
(*) Correct the encoding of the ENQCMDS and TILELOADT1 instructions.
(*) Fix case where the COFF backend (the coff, win32 and win64 output formats) would add padding bytes in the middle of a section if a SECTION/SEGMENT directive was provided which repeated an ALIGN= attribute. This neither matched legacy behavior, other backends, or user expectations.
(*) Fix SSE instructions not being recognized with an explicit memory operation size (e.g. movsd qword [eax],xmm0).
(*) The -L+ option no longer enables -Lw, which is mainly useful to debug NASM crashes. See section 2.1.4.
(*) Document long-standing hazards in the use of $ in Dx statements, see section 3.2.1.
(*) The NASM-only RDOFF output format backend, which has been broken since at least NASM 2.14, has been disabled. The RDOFF tools are scheduled to be removed from the NASM distribution in NASM 2.16. If you have a concrete use case for RDOFF, please file a NASM bug report at https://bugs.nasm.us/ as soon as possible. See section 8.13.
|