From: Stuart Henderson Subject: Re: UPDATE: nasm 2.16.03 To: Brad Smith Cc: ports@openbsd.org, Jasper Lievisse Adriaanse Date: Fri, 26 Jul 2024 12:57:36 +0100 ok with me, any comments Jasper? On 2024/07/25 22:18, Brad Smith wrote: > 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) >