Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#9179 closed enhancement (fixed)


Reported by: bdubbs@… Owned by: bdubbs@…
Priority: normal Milestone: 8.1
Component: BOOK Version: SVN
Severity: normal Keywords:


New minor version.

Change History (5)

comment:1 by bdubbs@…, 5 years ago

Owner: changed from blfs-book@… to bdubbs@…
Status: newassigned

comment:2 by bdubbs@…, 5 years ago

Version 2.13

Support the official forms of the UD0 and UD1 instructions.

Allow self-segment-relative expressions in immediates and displacements, even when combined with an external or otherwise out-of-segment special symbol, e.g.:

     extern foo 
     mov eax,[foo - $ + ebx]               ; Now legal

Handle a 64-bit origin in NDISASM.

NASM can now generate sparse output files for relevant output formats, if the underlying operating system supports them.

The macho object format now supports the subsections_via_symbols and no_dead_strip directives, see section 7.8.4.

The macho object format now supports the no_dead_strip, live_support and strip_static_syms section flags, see section 7.8.1.

The macho object format now supports the dwarf debugging format, as required by newer toolchains.

All warnings can now be suppressed if desired; warnings not otherwise part of any warning class are now considered its own warning class called other (e.g. -w-other). Furthermore, warning-as-error can now be controlled on a per warning class basis, using the syntax -w+error=warning-class and its equivalent for all other warning control options. See section 2.1.24 for the command-line options and warning classes and section 6.10 for the [WARNING] directive.

Fix a number of bugs related to AVX-512 decorators.

Significant improvements to building NASM with Microsoft Visual Studio via Mkfiles/msvc.mak. It is now possible to build the full Windows installer binary as long as the necessary prerequisites are installed; see Mkfiles/README

To build NASM with custom modifications (table changes) or from the git tree now requires Perl 5.8 at the very minimum, quite possibly a higher version (Perl 5.24.1 tested.) There is no requirement to have Perl on your system at all if all you want to do is build unmodified NASM from source archives.

Fix the {z} decorator on AVX-512 VMOVDQ* instructions.

Add new warnings for certain dangerous constructs which never ought to have been allowed. In particular, the RESB family of instructions should have been taking a critical expression all along.

Fix the EVEX (AVX-512) versions of the VPBROADCAST, VPEXTR, and VPINSR instructions.

Support contracted forms of additional instructions. As a general rule, if an instruction has a non-destructive source immediately after a destination register that isn't used as an input, NASM supports omitting that source register, using the destination register as that value. This among other things makes it easier to convert SSE code to the equivalent AVX code:

     addps xmm1,xmm0                       ; SSE instruction 
     vaddps ymm1,ymm1,ymm0                 ; AVX official long form 
     vaddps ymm1,ymm0                      ; AVX contracted form

Fix Codeview malformed compiler version record.

Add the CLWB and PCOMMIT instructions. Note that the PCOMMIT instruction has been deprecated and will never be included in a shipping product; it is included for completeness only.

Add the %pragma preprocessor directive for forward compatibility with future versions of NASM. At this time no pragmas are implemented and this is merely a dummy directive.

Add the RDPID instruction.

comment:3 by bdubbs@…, 5 years ago

Resolution: fixed
Status: assignedclosed

Fixed at revision 18666.

comment:4 by bdubbs@…, 5 years ago

Milestone: 8.1m8.1

Milestone renamed

comment:5 by bdubbs@…, 5 years ago

Milestone: m8.18.1

Milestone renamed

Note: See TracTickets for help on using tickets.