Here is an update to nasm 2.16.03.
C.1.1 Version 2.16.03 This is a source build machinery and documentation update only. There are no functionality changes. - Fix building from git in a separate directory from the source. - Remove some irrelevant files from the source distribution. - Make the documentation stronger that -O0 or -O1 are probably not what the user wants. See section 2.1.24. - Fix configure --enable-lto build option. - Update the included RPM .spec file. C.1.2 Version 2.16.02 - Fix building from the source distribution in a separate directory from the source. - Fix a number of issues when building from source, mostly involving configure or dependency generation. - In particular, more aggressively avoid cross-compilation problems on Unix/Linux systems automatically invoking WINE. We could end up invoking WINE even when we didn't want to, making configure think it was running native when in fact cross-compiling. - Hopefully fix compiling with the latest versions of MSVC/nmake. - Windows host: add embedded manifest file. Without a manifest, Windows applications force a fixed PATH_MAX limit to any pathname; this is unnecessary. - Add support VEX-encoded SM4-NI instructions. - Add support for VEX-encoded SM3-NI instructions. - Add support for VEX-encoded SHA512-NI instructions. - PTWRITE opcode corrected (F3 prefix required.) - Disassembler: the SMAP instructions are NP; notably the prefixed versions of CLAC are ERETU/ERETS. - Add support for Flexible Return and Exception Delivery (FRED): the LKGS, ERETS and ERETU instructions. - Fix external references to segments in the obj (OMF) and possibly other output formats. - Always support up to 8 characters, i.e. 64 bits, in a string-to-numeric conversion. - Preprocessor: add %map() function to expand a macro from a list of arguments, see section 4.4.7. - Preprocessor: allow the user to specify the desired radix for an evaluated parameter. It doesn't make any direct difference, but can be nice for debugging or turning into strings. See the = modifier in section 4.2.1. - Update documentation: __USE_package__ is now __?USE_package?__. - Documentation: correct a minor problem in the expression grammar for Dx statements, see section 3.2.1. - Preprocessor: correctly handle empty %rep blocks. - Preprocessor: add options for a base prefix to %num(), see section 4.4.8. - Preprocessor: add a %hex() function, equivalent to %eval() except that it producess hexadecimal values that are nevertheless valid NASM numeric constants, see section 4.4.5. - Preprocessor: fix the parameter number in error messages (should be 1-based, like %num references to multi-line macro arguments.) - Documentation: be more clear than the bin format is simply a linker built into NASM. See section 8.1. - Adjust the LOCK prefix warning for XCHG. - LOCK XCHG reg,mem would issue a warning for being unlockable, which is incorrect. In this case the reg,mem encoding is simply an alias for the mem,reg encoding. However, XCHG is always locked, so create a new warning (-w+prefix-lock-xchg) to explicitly flag a user-specified LOCK XCHG; default off. Future versions of NASM may remove the LOCK prefix when optimization is enabled. - Fix broken dependency-list generation. - Add optional warnings for specific relocation types (-w+reloc-*, see appendix A), default off. - Some target environments may have specific restrictions on what kinds of relocations are possible or allowed. - Error out on certain bad syntax in Dx statements, such as db 1 2. See section 3.2.1. Index: Makefile =================================================================== RCS file: /cvs/ports/devel/nasm/Makefile,v retrieving revision 1.53 diff -u -p -u -p -r1.53 Makefile --- Makefile 17 Nov 2023 11:38:01 -0000 1.53 +++ Makefile 26 Jul 2024 02:03:17 -0000 @@ -1,6 +1,6 @@ COMMENT= general-purpose multi-platform x86 assembler -VERSION= 2.16.01 +VERSION= 2.16.03 DISTNAME= nasm-${VERSION} CATEGORIES= devel lang SITES= ${HOMEPAGE}/pub/nasm/releasebuilds/${VERSION}/ Index: distinfo =================================================================== RCS file: /cvs/ports/devel/nasm/distinfo,v retrieving revision 1.27 diff -u -p -u -p -r1.27 distinfo --- distinfo 23 May 2023 09:56:52 -0000 1.27 +++ distinfo 26 Jul 2024 02:03:17 -0000 @@ -1,2 +1,2 @@ -SHA256 (nasm-2.16.01.tar.xz) = x3dF9IAjde/u4uxcCta38DfqnIfJKxSaljf/CZ8WJVg= -SIZE (nasm-2.16.01.tar.xz) = 1017732 +SHA256 (nasm-2.16.03.tar.xz) = FBKhx2C70F2wJrbA0WV6/9ZjHNCmPN229zzG1KphYUg= +SIZE (nasm-2.16.03.tar.xz) = 1032388 Index: patches/patch-doc_Makefile_in =================================================================== RCS file: /cvs/ports/devel/nasm/patches/patch-doc_Makefile_in,v retrieving revision 1.6 diff -u -p -u -p -r1.6 patch-doc_Makefile_in --- patches/patch-doc_Makefile_in 11 Mar 2022 18:50:51 -0000 1.6 +++ patches/patch-doc_Makefile_in 26 Jul 2024 02:03:17 -0000 @@ -18,8 +18,8 @@ Index: doc/Makefile.in +OUT = html nasmdoc.txt # nasmdoc.pdf $(XZFILES) XZOUT = nasmdoc.pdf.xz - .SUFFIXES: -@@ -103,7 +103,6 @@ nasmdoc.pdf.xz: nasmdoc-raw.pdf + # Don't delete intermediate files +@@ -109,7 +109,6 @@ nasmdoc.pdf.xz: nasmdoc-raw.pdf $(XZ) -9e < $< > $@ clean: @@ -27,7 +27,7 @@ Index: doc/Makefile.in -$(RM_F) *.aux *.cp *.fn *.ky *.pg *.log *.toc *.tp *.vr -$(RM_F) inslist.src version.src fontpath Fontmap -$(RM_F) nasmdoc*.ps nasmdoc-raw.pdf -@@ -116,7 +115,7 @@ install: all +@@ -122,7 +121,7 @@ install: all $(MKDIR_P) $(DESTDIR)$(htmldir) $(INSTALL_DATA) html/* $(DESTDIR)$(htmldir) $(MKDIR_P) $(DESTDIR)$(docdir)