[UPDATE] nasm 2.14.02 -> 2.15.01

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

[UPDATE] nasm 2.14.02 -> 2.15.01

Martin Got
Hi list,

Network Assembler port update.

* Fix building the documentation from the release archive. For 2.15, the user has to do make warnings manually in the main directory in order to be able to build the documentation, which means Perl needs to be installed on the system.
* Add instructions for Intel Control Flow Enforcement Technology (CET).
* The comparison and booleanizing operators can now be used in any expression context, not just %if. See section 3.5.
* New operator ? ... :. See section 3.5.1.
* Signed shift operators <<< and >>>. See section 3.5.9.
* The MASM DUP syntax for data definitions is now supported, in a somewhat enhanced form. See section 3.2.1.
* Warn for strange legacy behavior regarding empty arguments in multi-line macro expansion, but try to match legacy behavior in most cases. Legacy behavior can be disabled with the directive %pragma preproc sane_empty_expansion, see section 4.3 and section 4.10.1.
* A much more sensible limit to expression evaluation depth. The previously defined limit would rarely trigger before NASM died with a stack overrun error on most systems. See section 2.1.31.
* The state of warnings can now be saved and restored via the [WARNING PUSH] and [WARNING POP] directives. See section 7.13.
* The sectalign on|off switch does not affect an explicit directive. See section 5.10.2.
* Added configure option to enable building with profiling (--enable-profiling).
* Attempt to support of long path names, up to 32767 of UTF-16 characters, on Windows.
* Fixed 'mismatch in operand sizes' error in the MOVDDUP, CMPXCHG8B and CMPXCHG16B instructions.
* Improved error messages in the string transformation routine.
* Removed obsolete gnu-elf-extensions warning about 8- and 16-bit relocation generation. See section 8.9.8
* Added group aliases for all prefixed warnings. See section 2.1.26.
* Allowed building with MSVC versions older than 1700.
* Added implicitly sized versions of the K... instructions, which allows the K... instructions to be specified without a size suffix as long as the operands are sized.
* Added -L option for additional listing information. See section 2.1.4.
* Added some warnings for obsolete instructions for a specified CPU.
* Deprecated -hf and -y options. Use -h instead.
* Made DWARF as the default debug format for ELF.
* Added %pragma list options... to set or clear listing options (see opt-L).
* Allowed immediate syntax for LEA instruction (ignore operand size completely).
* Added limited functionality MASM compatibility package. See section 6.5.
* Add single-line macros aliases using %defalias or %idefalias. These behave like a kind of "symbolic links" for single-line macros. See section 4.1.10 and clear.
* Added support for stringify, nostrip, evaluating, and greedy single-line macro arguments. See section 4.1.1.
* Unused single-line macro arguments no longer need to have a specified name. See section 4.1.1.
* Added conditional comma operator %,. See section 4.1.11.
* Changed private namespace from __foo__ to __?foo?__, so a user namespace starting from underscore is now clean from symbols. For backwards compatibility, the previous names are defined as aliases; see section 4.1.10, section 4.11.3 and chapter 5.
* Added support of ELF weak symbols and external references. See section 8.9.5.
* Changed the behavior of the EXTERN keyword and introduced REQUIRED keyword. See section 7.6.
* Added %ifusable and %ifusing directives. See chapter 6.
* Made various performance improvements and stability fixes in macro preprocessor engine.
* Improved NASM error handling and cleaned up error messages.
* Many, many bug fixes.
* Suppress nuisance "label changed during code generation" messages after a real error.
* Add support for the merge and strings attributes on ELF sections. See section 8.9.2.
* Add support for the note, preinit_array, init_array, and fini_array sections type in ELF. See section 8.9.2.
* Handle more than 32,633 sections in ELF.

I've included *.tgz archive also if text formatting is broken by mail agent.

--- Makefile.old Wed Jul 17 17:49:21 2019
+++ Makefile Mon Jun 29 09:46:50 2020
@@ -4,8 +4,8 @@

COMMENT= general-purpose multi-platform x86 assembler

-VERSION= 2.14.02
-REVISION= 1
+VERSION= 2.15.01
+REVISION= 0
DISTNAME= nasm-${VERSION}
CATEGORIES= devel lang
MASTER_SITES= ${HOMEPAGE}/pub/nasm/releasebuilds/${VERSION}/

--- distinfo.old Sun Dec 30 22:26:53 2018
+++ distinfo Mon Jun 29 09:48:15 2020
@@ -1,2 +1,2 @@
-SHA256 (nasm-2.14.02.tar.xz) = 4krePpKPclOqjBSqRHJtHt8/mGQ/h8nXLsHfRLJr6PU=
-SIZE (nasm-2.14.02.tar.xz) = 827620
+SHA256 (nasm-2.15.01.tar.xz) = 28a50f80d2f4023e444b113e9ddc57fcec2b2f295a07ce158cf3f18740375831
+SIZE (nasm-2.15.01.tar.xz) = 975376

--- PLIST.orig Thu Aug 3 17:39:39 2017
+++ PLIST Mon Jun 29 11:15:55 2020
@@ -27,6 +27,7 @@
share/doc/nasm/html/nasmdo10.html
share/doc/nasm/html/nasmdo11.html
share/doc/nasm/html/nasmdo12.html
+share/doc/nasm/html/nasmdo13.html
share/doc/nasm/html/nasmdoc.css
share/doc/nasm/html/nasmdoc0.html
share/doc/nasm/html/nasmdoc1.html

--- doc/Makefile.in.old Sun Jun 28 02:17:21 2020
+++ doc/Makefile.in Mon Jun 29 11:09:56 2020
@@ -28,7 +28,7 @@
RM_F = rm -f
RM_RF = rm -rf
CP_F = cp -f
-CP_UF = cp -uf
+CP_UF = cp -fv

# Optional tools
XZ = @XZ@
@@ -40,8 +40,8 @@
HTMLAUX = nasmdoc.css local.css nasmlogw.png

SRCS = nasmdoc.src inslist.src changes.src warnings.src version.src
-OUT = html nasmdoc.txt nasmdoc.pdf $(XZFILES)
-XZOUT = nasmdoc.pdf.xz
+OUT = html nasmdoc.txt # nasmdoc.pdf $(XZFILES)
+# XZOUT = nasmdoc.pdf.xz

.SUFFIXES:
.SUFFIXES: .pfa .ph
@@ -103,7 +103,6 @@
$(XZ) -9e < $< > $@

clean:
- -$(RM_F) *.rtf *.hpj *.texi *.gid *.ipf *.dip
-$(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 @@
$(MKDIR_P) $(DESTDIR)$(htmldir)
$(INSTALL_DATA) html/* $(DESTDIR)$(htmldir)
$(MKDIR_P) $(DESTDIR)$(docdir)
- $(INSTALL_DATA) nasmdoc.pdf nasmdoc.txt $(DESTDIR)$(docdir)
+ $(INSTALL_DATA) internal.doc nasmdoc.txt $(DESTDIR)$(docdir)

#
# Dummy rules that changes make behavior

Martin

nasm-2.15.01-port.tgz (2K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [UPDATE] nasm 2.14.02 -> 2.15.01

Stuart Henderson
On 2020/06/29 08:46, Martin wrote:
> Network Assembler port update.

Dependent ports need testing.

$ grep devel/nasm /usr/local/share/ports-INDEX | cut -d'|' -f2
devel/nasm
graphics/ffmpeg
mail/mozilla-thunderbird
mail/mozilla-thunderbird,-lightning
multimedia/dav1d
multimedia/x264
multimedia/x265
www/firefox-esr
www/mozilla-firefox
www/tor-browser/browser

> I've included *.tgz archive also if text formatting is broken by mail agent.

It is broken, but a tgz is a pain to deal with for a port update.
If you can't use a working mail system (most other contributors seem to
manage) then at least try sending the diff as an attachment.

>
> --- Makefile.old Wed Jul 17 17:49:21 2019
> +++ Makefile Mon Jun 29 09:46:50 2020
> @@ -4,8 +4,8 @@
>
> COMMENT= general-purpose multi-platform x86 assembler
>
> -VERSION= 2.14.02
> -REVISION= 1
> +VERSION= 2.15.01
> +REVISION= 0

REVISION is removed at updates.

Reply | Threaded
Open this post in threaded view
|

Re: [UPDATE] nasm 2.14.02 -> 2.15.01

Martin Got
Stuart, thank you for notes.

All port dependent patches & *.diffs attached.

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Monday, June 29, 2020 9:30 AM, Stuart Henderson <[hidden email]> wrote:

> On 2020/06/29 08:46, Martin wrote:
>
> > Network Assembler port update.
>
> Dependent ports need testing.
>
> $ grep devel/nasm /usr/local/share/ports-INDEX | cut -d'|' -f2
> devel/nasm
> graphics/ffmpeg
> mail/mozilla-thunderbird
> mail/mozilla-thunderbird,-lightning
> multimedia/dav1d
> multimedia/x264
> multimedia/x265
> www/firefox-esr
> www/mozilla-firefox
> www/tor-browser/browser
>
> > I've included *.tgz archive also if text formatting is broken by mail agent.
>
> It is broken, but a tgz is a pain to deal with for a port update.
> If you can't use a working mail system (most other contributors seem to
> manage) then at least try sending the diff as an attachment.
>
> > --- Makefile.old Wed Jul 17 17:49:21 2019
> > +++ Makefile Mon Jun 29 09:46:50 2020
> > @@ -4,8 +4,8 @@
> > COMMENT= general-purpose multi-platform x86 assembler
> > -VERSION= 2.14.02
> > -REVISION= 1
> > +VERSION= 2.15.01
> > +REVISION= 0
>
> REVISION is removed at updates.


Makefile.diff (436 bytes) Download Attachment
distinfo.diff (474 bytes) Download Attachment
PLIST.diff (460 bytes) Download Attachment
patch-doc_Makefile.in (1K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [UPDATE] nasm 2.14.02 -> 2.15.01

Stuart Henderson
On 2020/06/29 10:07, Martin wrote:
> Stuart, thank you for notes.
>
> All port dependent patches & *.diffs attached.

A single diff please.

Think how it is for someone receiving the mail.

Diff inside the email:  "| patch -d /usr/ports/wherever"

One diff attached: <list mime parts> <select diff> "| patch -d ..."

Many diffs attached:
    <list mime parts> <save diff> <save diff> <save diff>
    <cat diffs together> <patch>
(or more likely, "d")

Reply | Threaded
Open this post in threaded view
|

Re: [UPDATE] nasm 2.14.02 -> 2.15.01

Martin Got
--- Makefile.old Wed Jul 17 17:49:21 2019
+++ Makefile Mon Jun 29 09:46:50 2020
@@ -4,8 +4,8 @@

 COMMENT= general-purpose multi-platform x86 assembler

-VERSION= 2.14.02
-REVISION= 1
+VERSION= 2.15.01
 DISTNAME= nasm-${VERSION}
 CATEGORIES= devel lang
 MASTER_SITES= ${HOMEPAGE}/pub/nasm/releasebuilds/${VERSION}/


--- distinfo.old Sun Dec 30 22:26:53 2018
+++ distinfo Mon Jun 29 09:48:15 2020
@@ -1,2 +1,2 @@
-SHA256 (nasm-2.14.02.tar.xz) = 4krePpKPclOqjBSqRHJtHt8/mGQ/h8nXLsHfRLJr6PU=
-SIZE (nasm-2.14.02.tar.xz) = 827620
+SHA256 (nasm-2.15.01.tar.xz) = 28a50f80d2f4023e444b113e9ddc57fcec2b2f295a07ce158cf3f18740375831
+SIZE (nasm-2.15.01.tar.xz) = 975376


--- PLIST.orig Thu Aug  3 17:39:39 2017
+++ PLIST Mon Jun 29 11:15:55 2020
@@ -27,6 +27,7 @@
 share/doc/nasm/html/nasmdo10.html
 share/doc/nasm/html/nasmdo11.html
 share/doc/nasm/html/nasmdo12.html
+share/doc/nasm/html/nasmdo13.html
 share/doc/nasm/html/nasmdoc.css
 share/doc/nasm/html/nasmdoc0.html
 share/doc/nasm/html/nasmdoc1.html


--- doc/Makefile.in.old Sun Jun 28 02:17:21 2020
+++ doc/Makefile.in Mon Jun 29 11:09:56 2020
@@ -28,7 +28,7 @@
 RM_F = rm -f
 RM_RF = rm -rf
 CP_F = cp -f
-CP_UF = cp -uf
+CP_UF = cp -fv

 # Optional tools
 XZ = @XZ@
@@ -40,8 +40,8 @@
 HTMLAUX = nasmdoc.css local.css nasmlogw.png

 SRCS = nasmdoc.src inslist.src changes.src warnings.src version.src
-OUT = html nasmdoc.txt nasmdoc.pdf $(XZFILES)
-XZOUT           = nasmdoc.pdf.xz
+OUT = html nasmdoc.txt # nasmdoc.pdf $(XZFILES)
+# XZOUT           = nasmdoc.pdf.xz

 .SUFFIXES:
 .SUFFIXES: .pfa .ph
@@ -103,7 +103,6 @@
  $(XZ) -9e < $< > $@

 clean:
- -$(RM_F) *.rtf *.hpj *.texi *.gid *.ipf *.dip
  -$(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 @@
  $(MKDIR_P) $(DESTDIR)$(htmldir)
  $(INSTALL_DATA) html/* $(DESTDIR)$(htmldir)
  $(MKDIR_P) $(DESTDIR)$(docdir)
- $(INSTALL_DATA) nasmdoc.pdf nasmdoc.txt $(DESTDIR)$(docdir)
+ $(INSTALL_DATA) internal.doc nasmdoc.txt $(DESTDIR)$(docdir)

 #
 # Dummy rules that changes make behavior

Reply | Threaded
Open this post in threaded view
|

Re: [UPDATE] nasm 2.14.02 -> 2.15.01

Stuart Henderson
This is how that one looks. It really does need the ports depending on
it to be tested with the update too.



Content-Transfer-Encoding: quoted-printable

--- Makefile.old=09Wed Jul 17 17:49:21 2019
+++ Makefile=09Mon Jun 29 09:46:50 2020
@@ -4,8 +4,8 @@

 COMMENT=3D=09general-purpose multi-platform x86 assembler

-VERSION=3D=092.14.02
-REVISION=3D=091
+VERSION=3D=092.15.01
 DISTNAME=3D=09nasm-${VERSION}
 CATEGORIES=3D=09devel lang
 MASTER_SITES=3D=09${HOMEPAGE}/pub/nasm/releasebuilds/${VERSION}/


--- distinfo.old=09Sun Dec 30 22:26:53 2018
+++ distinfo=09Mon Jun 29 09:48:15 2020
@@ -1,2 +1,2 @@
-SHA256 (nasm-2.14.02.tar.xz) =3D 4krePpKPclOqjBSqRHJtHt8/mGQ/h8nXLsHfRLJr6=
PU=3D
-SIZE (nasm-2.14.02.tar.xz) =3D 827620
+SHA256 (nasm-2.15.01.tar.xz) =3D 28a50f80d2f4023e444b113e9ddc57fcec2b2f295=
a07ce158cf3f18740375831
+SIZE (nasm-2.15.01.tar.xz) =3D 975376


--- PLIST.orig=09Thu Aug  3 17:39:39 2017
+++ PLIST=09Mon Jun 29 11:15:55 2020
@@ -27,6 +27,7 @@
 share/doc/nasm/html/nasmdo10.html
 share/doc/nasm/html/nasmdo11.html
 share/doc/nasm/html/nasmdo12.html
+share/doc/nasm/html/nasmdo13.html
 share/doc/nasm/html/nasmdoc.css
 share/doc/nasm/html/nasmdoc0.html
 share/doc/nasm/html/nasmdoc1.html


--- doc/Makefile.in.old=09Sun Jun 28 02:17:21 2020
+++ doc/Makefile.in=09Mon Jun 29 11:09:56 2020
@@ -28,7 +28,7 @@
 RM_F=09=09=3D rm -f
 RM_RF=09=09=3D rm -rf
 CP_F=09=09=3D cp -f
-CP_UF=09=09=3D cp -uf
+CP_UF=09=09=3D cp -fv

 # Optional tools
 XZ=09=09=3D @XZ@
@@ -40,8 +40,8 @@
 HTMLAUX=09=09=3D nasmdoc.css local.css nasmlogw.png

 SRCS=09=09=3D nasmdoc.src inslist.src changes.src warnings.src version.src
-OUT=09=09=3D html nasmdoc.txt nasmdoc.pdf $(XZFILES)
-XZOUT           =3D nasmdoc.pdf.xz
+OUT=09=09=3D html nasmdoc.txt # nasmdoc.pdf $(XZFILES)
+# XZOUT           =3D nasmdoc.pdf.xz

 .SUFFIXES:
 .SUFFIXES: .pfa .ph
@@ -103,7 +103,6 @@
 =09$(XZ) -9e < $< > $@

 clean:
-=09-$(RM_F) *.rtf *.hpj *.texi *.gid *.ipf *.dip
 =09-$(RM_F) *.aux *.cp *.fn *.ky *.pg *.log *.toc *.tp *.vr
 =09-$(RM_F) inslist.src version.src fontpath Fontmap
 =09-$(RM_F) nasmdoc*.ps nasmdoc-raw.pdf
@@ -116,7 +115,7 @@
 =09$(MKDIR_P) $(DESTDIR)$(htmldir)
 =09$(INSTALL_DATA) html/* $(DESTDIR)$(htmldir)
 =09$(MKDIR_P) $(DESTDIR)$(docdir)
-=09$(INSTALL_DATA) nasmdoc.pdf nasmdoc.txt $(DESTDIR)$(docdir)
+=09$(INSTALL_DATA) internal.doc nasmdoc.txt $(DESTDIR)$(docdir)

 #
 # Dummy rules that changes make behavior

Reply | Threaded
Open this post in threaded view
|

Re: [UPDATE] nasm 2.14.02 -> 2.15.01

Martin Got
Sorry, but I can access mail by web client from different machine only. I can't split diffs and mail it from OpenBSD in any way, so I can transfer them to another machine and put into attachment or in web interface only.

I'm really sorry about it.

Hope you can use the attached diffs from previous mail as-is in original formatting. They should work fine (tested on openbsd 6.7 with all the latest patches installed).

I'm using nasm for small project, and I hit the DATA & TEXT segment issues with v2.14.02 but 2.15.01 completely solves it.

If anybody can test the software in other way, please do it and report. For my relatively small project 2.15.01 works without any issues.

Martin


‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Monday, June 29, 2020 11:37 AM, Stuart Henderson <[hidden email]> wrote:

> This is how that one looks. It really does need the ports depending on
> it to be tested with the update too.
>
> Content-Transfer-Encoding: quoted-printable
>
> --- Makefile.old=09Wed Jul 17 17:49:21 2019
> +++ Makefile=09Mon Jun 29 09:46:50 2020
> @@ -4,8 +4,8 @@
>
> COMMENT=3D=09general-purpose multi-platform x86 assembler
>
> -VERSION=3D=092.14.02
> -REVISION=3D=091
> +VERSION=3D=092.15.01
> DISTNAME=3D=09nasm-${VERSION}
> CATEGORIES=3D=09devel lang
> MASTER_SITES=3D=09${HOMEPAGE}/pub/nasm/releasebuilds/${VERSION}/
>
> --- distinfo.old=09Sun Dec 30 22:26:53 2018
> +++ distinfo=09Mon Jun 29 09:48:15 2020
> @@ -1,2 +1,2 @@
> -SHA256 (nasm-2.14.02.tar.xz) =3D 4krePpKPclOqjBSqRHJtHt8/mGQ/h8nXLsHfRLJr6=
> PU=3D
> -SIZE (nasm-2.14.02.tar.xz) =3D 827620
> +SHA256 (nasm-2.15.01.tar.xz) =3D 28a50f80d2f4023e444b113e9ddc57fcec2b2f295=
> a07ce158cf3f18740375831
> +SIZE (nasm-2.15.01.tar.xz) =3D 975376
>
> --- PLIST.orig=09Thu Aug 3 17:39:39 2017
> +++ PLIST=09Mon Jun 29 11:15:55 2020
> @@ -27,6 +27,7 @@
> share/doc/nasm/html/nasmdo10.html
> share/doc/nasm/html/nasmdo11.html
> share/doc/nasm/html/nasmdo12.html
> +share/doc/nasm/html/nasmdo13.html
> share/doc/nasm/html/nasmdoc.css
> share/doc/nasm/html/nasmdoc0.html
> share/doc/nasm/html/nasmdoc1.html
>
> --- doc/Makefile.in.old=09Sun Jun 28 02:17:21 2020
> +++ doc/Makefile.in=09Mon Jun 29 11:09:56 2020
> @@ -28,7 +28,7 @@
> RM_F=09=09=3D rm -f
> RM_RF=09=09=3D rm -rf
> CP_F=09=09=3D cp -f
> -CP_UF=09=09=3D cp -uf
> +CP_UF=09=09=3D cp -fv
>
> Optional tools
>
> ===============
>
> XZ=09=09=3D @XZ@
> @@ -40,8 +40,8 @@
> HTMLAUX=09=09=3D nasmdoc.css local.css nasmlogw.png
>
> SRCS=09=09=3D nasmdoc.src inslist.src changes.src warnings.src version.src
> -OUT=09=09=3D html nasmdoc.txt nasmdoc.pdf $(XZFILES)
> -XZOUT =3D nasmdoc.pdf.xz
> +OUT=09=09=3D html nasmdoc.txt # nasmdoc.pdf $(XZFILES)
> +# XZOUT =3D nasmdoc.pdf.xz
>
> .SUFFIXES:
> .SUFFIXES: .pfa .ph
> @@ -103,7 +103,6 @@
> =09$(XZ) -9e < $< > $@
>
> clean:
> -=09-$(RM_F) *.rtf *.hpj *.texi *.gid *.ipf *.dip
> =09-$(RM_F) *.aux *.cp *.fn *.ky *.pg *.log *.toc .tp .vr
> =09-$(RM_F) inslist.src version.src fontpath Fontmap
> =09-$(RM_F) nasmdoc.ps nasmdoc-raw.pdf
> @@ -116,7 +115,7 @@
> =09$(MKDIR_P) $(DESTDIR)$(htmldir)
> =09$(INSTALL_DATA) html/ $(DESTDIR)$(htmldir)=09$(MKDIR_P) $(DESTDIR)$(docdir)
> -=09$(INSTALL_DATA) nasmdoc.pdf nasmdoc.txt $(DESTDIR)$(docdir)
> +=09$(INSTALL_DATA) internal.doc nasmdoc.txt $(DESTDIR)$(docdir)
>
> ==
>
> Dummy rules that changes make behavior
>
> =======================================