#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