Download raw body.
UPDATE: nasm 2.16.03
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)
UPDATE: nasm 2.16.03