The NASM 2 series support x86-64, and is the production version of NASM
since 2007.
+\S{cl-2.10} Version 2.10
+
+\b When optimization is enabled, \c{mov r64,imm} now optimizes to the
+ shortest form possible between:
+
+\c mov r32,imm32 ; 5 bytes
+\c mov r64,imm32 ; 7 bytes
+\c mov r64,imm64 ; 10 bytes
+
+To force a specific form, use the \c{STRICT} keyword, see \k{strict}.
+
- \S{cl-2.09.05} Version 2.09.06
+ \S{cl-2.09.07} Version 2.09.07
+
+ \b Fix attempts to close same file several times
+ when \c{-a} option is used.
+
+ \b Fixes for VEXTRACTF128, VMASKMOVPS encoding.
+
++
+ \S{cl-2.09.06} Version 2.09.06
\b Fix missed section attribute initialization in \c{bin} output target.
/* only set line and file name if there's a next node */
if (i->next) {
src_set_linnum(i->lineno);
- nasm_free(src_set_fname(i->fname));
+ nasm_free(src_set_fname(nasm_strdup(i->fname)));
}
+ if ((i->next == NULL) && (finals != NULL)) {
+ in_final = true;
+ ei = new_ExpInv(EXP_FINAL, NULL);
+ ei->emitting = true;
+ ei->current = finals;
+ istk->expansion = ei;
+ finals = NULL;
+ continue;
+ }
istk = i->next;
list->downlevel(LIST_INCLUDE);
nasm_free(i);