#9179: nasm-2.13
-------------------------+-----------------------
 Reporter:  bdubbs@…     |       Owner:  bdubbs@…
     Type:  enhancement  |      Status:  assigned
 Priority:  normal       |   Milestone:  8.1
Component:  BOOK         |     Version:  SVN
 Severity:  normal       |  Resolution:
 Keywords:               |
-------------------------+-----------------------

Comment (by bdubbs@…):

 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.

--
Ticket URL: <http://wiki.linuxfromscratch.org/blfs/ticket/9179#comment:2>
BLFS Trac <http://wiki.linuxfromscratch.org/blfs>
Beyond Linux From Scratch
-- 
http://lists.linuxfromscratch.org/listinfo/blfs-book
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to