Skip to content

Commit e55c571

Browse files
author
H. Peter Anvin
committed
doc: release notes for 2.16.02
Release notes for 2.16.02 to prepare for imminent release.
1 parent f69119b commit e55c571

File tree

1 file changed

+84
-3
lines changed

1 file changed

+84
-3
lines changed

doc/changes.src

Lines changed: 84 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,88 @@ since 2007.
1212
\b Fix building from the source distribution in a separate directory
1313
from the source.
1414

15-
\b Update broken \c{autoconf} macros.
15+
\b Fix a number of issues when building from source, mostly involving
16+
\c{configure} or dependency generation.
17+
18+
\> In particular, more aggressively avoid cross-compilation problems
19+
on Unix/Linux systems automatically invoking WINE. We could end up
20+
invoking WINE even when we didn't want to, making \c{configure} think
21+
it was running native when in fact cross-compiling.
22+
23+
\b Hopefully fix compiling with the latest versions of MSVC/nmake.
24+
25+
\b Windows host: add embedded manifest file. Without a manifest,
26+
Windows applications force a fixed \c{PATH_MAX} limit to any pathname;
27+
this is unnecessary.
28+
29+
\b Add support VEX-encoded SM4-NI instructions.
30+
31+
\b Add support for VEX-encoded SM3-NI instructions.
32+
33+
\b Add support for VEX-encoded SHA512-NI instructions.
34+
35+
\b \c{PTWRITE} opcode corrected (\c{F3} prefix required.)
36+
37+
\b Disassembler: the SMAP instructions are \c{NP}; notably the
38+
prefixed versions of \c{CLAC} are \c{ERETU}/\c{ERETS}.
39+
40+
\b Add support for Flexible Return and Exception Delivery (FRED): the
41+
\c{LKGS}, \c{ERETS} and \c{ERETU} instructions.
42+
43+
\b Fix external references to segments in the \c{obj} (OMF) and
44+
possibly other output formats.
45+
46+
\b Always support up to 8 characters, i.e. 64 bits, in a
47+
string-to-numeric conversion.
48+
49+
\b Preprocessor: add \c{%map()} function to expand a macro from a list of
50+
arguments, see \k{f_map}.
51+
52+
\b Preprocessor: allow the user to specify the desired radix for an
53+
evaluated parameter. It doesn't make any direct difference, but can be
54+
nice for debugging or turning into strings. See the \c{=} modifier in
55+
\k{define}.
56+
57+
\b Update documentation: \c{__USE_}\e{package}\c{__} is now
58+
\c{__?USE_}\e{package}\c{?__}.
59+
60+
\b Documentation: correct a minor problem in the expression grammar
61+
for \c{D}\e{x} statements, see \k{db}.
62+
63+
\b Preprocessor: correctly handle empty \c{%rep} blocks.
64+
65+
\b Preprocessor: add options for a base prefix to \c{%num()}, see \k{f_num}.
66+
67+
\b Preprocessor: add a \c{%hex()} function, equivalent to \c{%eval()}
68+
except that it producess hexadecimal values that are nevertheless
69+
valid NASM numeric constants, see \k{f_hex}.
70+
71+
\b Preprocessor: fix the parameter number in error messages (should be
72+
1-based, like \c{%}\e{num} references to multi-line macro arguments.)
73+
74+
\b Documentation: be more clear than the \c{bin} format is simply a
75+
linker built into NASM. See \k{binfmt}.
76+
77+
\b Adjust the \c{LOCK} prefix warning for \c{XCHG}.
78+
79+
\> \c{LOCK XCHG }\e{reg}\c{,}\e{mem} would issue a warning for being
80+
unlockable, which is incorrect. In this case the \e{reg}\c{,}\e{mem}
81+
encoding is simply an alias for the \e{mem}\c{,}\e{reg} encoding. However,
82+
\c{XCHG} is \e{always} locked, so create a new warning
83+
(\c{-w+prefix-lock-xchg}) to explicitly flag a user-specified \c{LOCK
84+
XCHG}; default off. Future versions of NASM may remove the \c{LOCK}
85+
prefix when optimization is enabled.
86+
87+
\b Fix broken dependency-list generation.
88+
89+
\b Add optional warnings for specific relocation types
90+
(\c{-w+reloc-*}, see \k{warnings}), default off.
91+
92+
\> Some target environments may have specific restrictions on what
93+
kinds of relocations are possible or allowed.
94+
95+
\b Error out on certain bad syntax in \c{D}\e{x} statements, such as
96+
\c{db 1 2}. See \k{db}.
1697

1798
\S{cl-2.16.01} Version 2.16.01
1899

@@ -146,7 +227,7 @@ operation size (e.g. \c{movsd qword [eax],xmm0}).
146227
\b The \c{-L+} option no longer enables \c{-Lw}, which is mainly
147228
useful to debug NASM crashes. See \k{opt-L}.
148229

149-
\b Document long-standing hazards in the use of \c{$} in \c{Dx}
230+
\b Document long-standing hazards in the use of \c{$} in \c{D}\e{x}
150231
statements, see \k{db}.
151232

152233
\b The NASM-only RDOFF output format backend, which has been broken
@@ -551,7 +632,7 @@ files. See \k{opt-keep-all}.
551632
\b Fix the \c{\{z\}} decorator on AVX-512 \c{VMOVDQ*} instructions.
552633

553634
\b Add new warnings for certain dangerous constructs which never ought
554-
to have been allowed. In particular, the \c{RESB} family of
635+
to have been allowed. In particular, the \c{RES}\e{x} family of
555636
instructions should have been taking a critical expression all
556637
along.
557638

0 commit comments

Comments
 (0)