Opened 15 months ago
Closed 15 months ago
Last modified 15 months ago
New point version
C.1.1 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).
C.1.2 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.
C.1.3 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.
Fixed at r23338
Powered by Trac 1.5.3.dev0
By Edgewall Software
© 1998-2021 Gerard Beekmans.