Opened 12 months ago

Closed 12 months ago

Last modified 8 months ago

#22227 closed enhancement (fixed)

nasm-3.00

Reported by: Bruce Dubbs Owned by: Bruce Dubbs
Priority: normal Milestone: 13.0
Component: BOOK Version: git
Severity: medium Keywords:
Cc:

Description

New major version.

Change History (4)

comment:1 by Bruce Dubbs, 12 months ago

Owner: changed from blfs-book to Bruce Dubbs
Status: new → assigned

comment:2 by Bruce Dubbs, 12 months ago

NASM 3 Series

The NASM 3 series added support for the APX instruction encodings (extended GPRs), as well as preprocessor enhancements meant to make evolving code simpler.

It is the production version of NASM since 2025.

Version 3.00

  • Improve the documentation for building from source (\k{source}).
  • Add support for the APX and AVX10 instruction sets, and various miscellaneous new instructions.
  • Add new preprocessor functions: \c{%b2hs()}, \c{%chr()}, \c{%depend()}, \c{%find()}, \c{%findi()}, \c{%hs2b()}, \c{%null()}, \c{%ord()}, \c{%pathsearch()}, and \c{%realpath()}. See \k{ppfunc}.
  • New preprocessor directive \c{%note} to insert a note in the list file, without issuing an external diagnosic. Unlike a comment, it is optionally macro-expanded, see \k{pperror}.
  • New preprocessor directive \c{%iffile} (and corresponding function \c{%isfile()}) to test for the existence of a file. See \k{iffile}.
  • New preprocessor directive \c{%ifdirective} to test for the existence of a preprocessor directive, assembly directive, or pseudo-instruction; see \k{ifdirective}.
  • Fix a number of invalid memory references (usually causing crashes) on various invalid inputs.
  • Fix multiple bugs in the handling of \c{$}-escaped symbols.
  • The use of \c{$} as a prefix for hexadecimal numbers has been deprecated, and will now issue a warning. A new directive \c{[DOLLARHEX]} can be used to disable this syntax entirely, see \k{dollarhex}.
  • Fix the generation of segment selector references (mainly used in the \c{obj} output format.)
  • Fix crash in the \c{obj} backend when code was emitted into the default segment, without any labels having been defined.
  • Clean up the command-line help text (\c{-h}) and break it down into individual topics, as the previous output was just too verbose to be practical as a quick reference.
  • The implicit \c{DEFAULT ABS} in 64-bit mode is deprecated and may be changed to \c{REL} in the future. See \k{default}. A warning is now emitted for this condition.
  • It is now possible to set the \c{REL}/\c{ABS} default for memory accesses using \c{FS:} or \c{GS:}, see \k{default}.
  • The \c{?DEFAULT?} standard macro now reflects the settings of the \c{DEFAULT} directive. See \k{defaultm}.
  • The NASM preprocessor now assumes that an unknown directive starting with \c{%if} or \c{%elif} is a misspelled or not yet implemented conditional directive, and tries to match it with a corresponding \c{%endif}. See \k{if_caveat}.
  • The \c{masm} macro package now defines a macro for x87 register syntax. See \k{pkg_masm}.
  • A new macro package, \c{vtern}, to simplify generation of the control immediates for the \c{VPTERNLOGD} and \c{VPTERNLOGQ} instructions. See \k{pkg_vtern}.
  • A new command line option \c{-LF} allows overriding \c{[LIST -]} directives.
  • In the \c{obj} output format, allow a segment in the \c{FLAT} pseudo-group to also belong to another (real) group. Used on OS/2.
  • Add a new \c{build_version} directive to the Mach-O backend. See \k{macho-bver}.
  • Fix a spec violation in the generation of DWARF debugging information on ELF.
  • Response files can now be nested.
  • Many documentation improvements.

comment:3 by Bruce Dubbs, 12 months ago

Resolution: → fixed
Status: assigned → closed

Fixed at commits

d13a83c733 Update to nasm-3.00.
abd60d1621 Update to xkeyboard-config-2.46.
d95834fb86 Update to nss-3.117.

comment:4 by Bruce Dubbs, 8 months ago

Milestone: 12.5 → 13.0

Milestone renamed

Note: See TracTickets for help on using tickets.