@@ -12,7 +12,88 @@ since 2007.
12
12
\b Fix building from the source distribution in a separate directory
13
13
from the source.
14
14
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}.
16
97
17
98
\S{cl-2.16.01} Version 2.16.01
18
99
@@ -146,7 +227,7 @@ operation size (e.g. \c{movsd qword [eax],xmm0}).
146
227
\b The \c{-L+} option no longer enables \c{-Lw}, which is mainly
147
228
useful to debug NASM crashes. See \k{opt-L}.
148
229
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 }
150
231
statements, see \k{db}.
151
232
152
233
\b The NASM-only RDOFF output format backend, which has been broken
@@ -551,7 +632,7 @@ files. See \k{opt-keep-all}.
551
632
\b Fix the \c{\{z\}} decorator on AVX-512 \c{VMOVDQ*} instructions.
552
633
553
634
\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
555
636
instructions should have been taking a critical expression all
556
637
along.
557
638
0 commit comments