./devel/nasm, General-purpose x86 assembler

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 2.16.01, Package name: nasm-2.16.01, Maintainer: pkgsrc-users

The Netwide Assembler, NASM, is an 80x86 assembler designed for portability
and modularity. It supports a range of object file formats, including Linux
a.out and ELF, NetBSD/FreeBSD, COFF, Microsoft 16-bit OBJ and Win32. It will
also output plain binary files. Its syntax is designed to be simple and easy
to understand, similar to Intel's but less complex.

Required to build:
[textproc/xmlto] [textproc/asciidoc] [pkgtools/cwrappers]

Master sites:

Filesize: 993.879 KB

Version history: (Expand)

CVS history: (Expand)

   2022-06-28 13:38:00 by Thomas Klausner | Files touched by this commit (3952)
Log message:
*: recursive bump for perl 5.36
   2021-10-26 12:20:11 by Nia Alarie | Files touched by this commit (3016)
Log message:
archivers: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

Could not be committed due to merge conflict:

The following distfiles were unfetchable (note: some may be only fetched

./devel/pvs/distinfo pvs-3.2-solaris.tgz
./devel/eclipse/distinfo eclipse-sourceBuild-srcIncluded-3.0.1.zip
   2021-10-07 15:44:44 by Nia Alarie | Files touched by this commit (3017)
Log message:
devel: Remove SHA1 hashes for distfiles
   2021-05-24 21:56:06 by Thomas Klausner | Files touched by this commit (3575)
Log message:
*: recursive bump for perl 5.34
   2020-10-12 14:54:01 by Thomas Klausner | Files touched by this commit (1)
Log message:
nasm: remove unnecessary TOOL_DEPENDS

Override detection just to be on the safe side.

Addresses PR 55709 by Joern Clausen
   2020-09-29 16:08:36 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
nasm: updated to 2.15.05

Version 2.15.05

Correct %ifid $ and %ifid $$ being treated as true. See section 4.4.6.

Add --reproducible option to suppress NASM version numbers and timestamps in \ 
output files. See section 2.1.34.

Version 2.15.04

More sensible handling of the case where one single-line macro definition will \ 
shadow another. A warning will be issued, but the additional definition will be \ 
allowed. For the existing error case where both a parameterless and parametered \ 
macro are created, that warning is promoted to an error by default.

Add special preprocessor tokens %*? and %*?? that expand like %? and %?? in \ 
single-line macros only. See section 4.1.6.

Correct the encoding of the ENQCMDS and TILELOADT1 instructions.

Fix case where the COFF backend (the coff, win32 and win64 output formats) would \ 
add padding bytes in the middle of a section if a SECTION/SEGMENT directive was \ 
provided which repeated an ALIGN= attribute. This neither matched legacy \ 
behavior, other backends, or user expectations.

Fix SSE instructions not being recognized with an explicit memory operation size \ 
(e.g. movsd qword [eax],xmm0).

The -L+ option no longer enables -Lw, which is mainly useful to debug NASM \ 
crashes. See section 2.1.4.

Document long-standing hazards in the use of $ in Dx statements, see section 3.2.1.

The NASM-only RDOFF output format backend, which has been broken since at least \ 
NASM 2.14, has been disabled. The RDOFF tools are scheduled to be removed from \ 
the NASM distribution in NASM 2.16. If you have a concrete use case for RDOFF, \ 
please file a NASM bug report at https://bugs.nasm.us/ as soon as possible. See \ 
section 8.13.
   2020-08-31 20:13:29 by Thomas Klausner | Files touched by this commit (3631)
Log message:
*: bump PKGREVISION for perl-5.32.
   2020-08-08 20:35:10 by Nia Alarie | Files touched by this commit (5)
Log message:
nasm: Update to 2.15.03

C.1.1 Version 2.15.03

     * Add instructions from the Intel Instruction Set Extensions and
       Future Features Programming Reference, June 2020. This includes
       AVX5512 bfloat16, AVX512 mask intersect, and Intel Advanced Matrix
       Extensions (AMX).
     * Support for bfloat16 floating-point constants. See [5]section 3.4.6
       and [6]section 6.3.
     * Properly display warnings in preprocess-only mode.
     * Fix copy-and-paste of examples from the PDF documentation.
     * Debug information now properly reflect the line numbers of macro
       invocations (unless declared .nolist).
     * Fix excessive alignment of sections in the coff/win32/win64 output
       formats when the user-specified alignment is less than the default
       alignment for the section or section type.
     * Fix explicit token pasting (%+, [7]section 4.1.4) for the cases
       where one or more parts result from empty token expansion,
       resulting in %+ tokens at the beginning or end, or multiple ones in
       a row.
     * Fix macro label capture (%00, [8]section 4.3.7).
     * Much better documentation for the MASM compatiblity package, %use
       masm (see [9]section 6.5).
     * Fix LEA without square brackets, for MASM compatibility.
     * Portability fixes.

C.1.2 Version 2.15.02

     * Fix miscompilation when building with clang.
     * Add db-empty warning class, see [10]section 2.1.26.
     * Fix the dependencies in the MSVC NMAKE makefile (Mkfiles/msvc.mak).
     * Some documentation improvements and cleanups.
     * Fix the handling of macro parameter ranges (%{:}), including with
       brace-enclosed original arguments.

C.1.3 Version 2.15.01

     * 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

C.1.4 Version 2.15

     * The comparison and booleanizing operators can now be used in any
       expression context, not just %if. See [11]section 3.5.
     * New operator ? ... :. See [12]section 3.5.1.
     * Signed shift operators <<< and >>>. See [13]section 3.5.9.
     * The MASM DUP syntax for data definitions is now supported, in a
       somewhat enhanced form. See [14]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 [15]section 4.3 and
       [16]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 [17]section 2.1.31.
     * The state of warnings can now be saved and restored via the
       [WARNING PUSH] and [WARNING POP] directives. See [18]section 7.13.
     * The sectalign on|off switch does not affect an explicit directive.
       See [19]section 5.10.2.
     * Added configure option to enable building with 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 [20]section 8.9.8
     * Added group aliases for all prefixed warnings. See [21]section
     * 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 [22]section
     * 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
     * Allowed immediate syntax for LEA instruction (ignore operand size
     * Added limited functionality MASM compatibility package. See
       [23]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
       [24]section 4.1.10 and clear.
     * Added support for stringify, nostrip, evaluating, and greedy
       single-line macro arguments. See [25]section 4.1.1.
     * Unused single-line macro arguments no longer need to have a
       specified name. See [26]section 4.1.1.
     * Added conditional comma operator %,. See [27]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 [28]section 4.1.10, [29]section 4.11.3 and [30]chapter 5.
     * Added support of ELF weak symbols and external references. See
       [31]section 8.9.5.
     * Changed the behavior of the EXTERN keyword and introduced REQUIRED
       keyword. See [32]section 7.6.
     * Added %ifusable and %ifusing directives. See [33]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.