Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nasm: updated to 2.16.03 #147

Open
wants to merge 3 commits into
base: trunk
Choose a base branch
from
Open

nasm: updated to 2.16.03 #147

wants to merge 3 commits into from

Conversation

tempcracks
Copy link

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.

@bsiegert
Copy link
Contributor

Why do you keep opening new PRs for this?

@tempcracks
Copy link
Author

tempcracks commented Jul 31, 2024

the previous PR failed of my stupid mistakes, and this one's right (just this my first PR)

@bsiegert
Copy link
Contributor

You know you can just force-push to your branch to update the PR, right?

@tempcracks
Copy link
Author

yes,it's just that i was so lost, and i thought it would be more convenient to go back and now I'd do force-push,sorry

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants