Opened 6 weeks ago

Closed 5 weeks ago

#19595 closed enhancement (fixed)

nasm-2.16.02

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

Description

New point version.

Change History (3)

comment:1 by Xi Ruoyao, 6 weeks ago

  • 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 "f_map".
  • 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 "define".
  • Update documentation: __USE_package__ is now __?USE_package?__.
  • Documentation: correct a minor problem in the expression grammar for D*x* statements, see "db".
  • Preprocessor: correctly handle empty %rep blocks.
  • Preprocessor: add options for a base prefix to %num(), see "f_num".
  • Preprocessor: add a %hex() function, equivalent to %eval() except that it producess hexadecimal values that are nevertheless valid NASM numeric constants, see "f_hex".
  • 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 "binfmt".
  • 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 "warnings"), 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 "db".

comment:2 by thomas, 5 weeks ago

Owner: changed from blfs-book to thomas
Status: newassigned

comment:3 by thomas, 5 weeks ago

Resolution: fixed
Status: assignedclosed

Fixed in [7684c51263]

Note: See TracTickets for help on using tickets.