Commit Graph

4962 Commits

Author SHA1 Message Date
H. Peter Anvin
e72d4bf519 mkdep.pl: do not generate a selfrule for embedded dependencies
If we are using embedded dependencies, do not generate a selfrule. It
is meaningless.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2024-04-12 14:47:54 -07:00
H. Peter Anvin
99fec7e7d0 Makefile: more cleanup/dist fixes
Even more fixes to the various clean and dist targets, sigh.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2024-04-12 14:35:56 -07:00
H. Peter Anvin
0553c6f306 Makefile: fix "make dist" and "make tar"
These aren't used to actually make a distribution, but they are useful
for testing.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2024-04-12 14:21:51 -07:00
H. Peter Anvin
ff78ddc6af autogen.sh: remove configure~
Remove configure~ backup file; we have no use for it.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2024-04-12 14:20:59 -07:00
H. Peter Anvin
25f701e689 spec generation: try to distinguish use pragmas from modules
Assume module names (for "use") always start with a capital letter,
and that anything that doesn't is a pragma.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2024-04-12 14:05:32 -07:00
H. Peter Anvin
03469f5bd0 NASM 2.16.03rc1 2024-04-12 13:24:41 -07:00
H. Peter Anvin
a518f3bc72 changes.src: begin release notes for 2.16.03
Probably will have to release a 2.16.03 soon. Start the release notes.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2024-04-12 13:24:04 -07:00
H. Peter Anvin
caaf81c22e deps: don't break if run in a build directory; don't delete unconfig.h
Don't break Makefile.dep generation if run from a separate build
directory.

config/unconfig.h is a bit special; it is kept in the repository for
the benefit of non-configure users. Therefore, don't have "make
spotless" delete it.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2024-04-12 13:17:40 -07:00
H. Peter Anvin
392f47d06e Makefile: fix "make spotless"
Fix "make spotless" and some of the related targets so they actually
behave sensibly.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2024-04-12 12:05:52 -07:00
H. Peter Anvin
99d3342033 doc: make it clearer than -O0 and -O1 are almost never useful
-Ox is the default, and the preferred mode for almost all users.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2024-04-12 11:08:37 -07:00
H. Peter Anvin
6f44296adc doc: get rid of some unnecessarily wordy option descriptions
Some options had unnecessarily wordy titles. Also change Make ->
\c{make}.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2024-04-12 11:06:03 -07:00
H. Peter Anvin
1ad669bf06 nasmdoc.css: simplify some media queries
Some media queries were needlessly complicated and misinterpreted by
some browsers.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2024-04-04 15:15:05 -07:00
H. Peter Anvin
b11cd3a426 warnings: more improvements to warnings generation
Try to better sort out the necessary dependencies for warning
generation.

Fix regex for cleaning up nasmdoc markup: nasmdoc markup does not
nest, although it may include \} sequences.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2024-04-04 14:18:34 -07:00
H. Peter Anvin
5a03edfdd9 tools/release: run autoconf/clean.sh if it exists
If autoconf/clean.sh exists, run it after "make distclean" as a
redundancy measure.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2024-04-04 13:50:50 -07:00
H. Peter Anvin
99175565d8 Makefile.in: remove configure remnants from "make distclean"
"make distclean" (which is used to generate release tarballs) should
remove configure-generated files.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2024-04-04 13:45:29 -07:00
H. Peter Anvin
1f055d9e8f NASM 2.16.02 2024-04-04 13:25:49 -07:00
H. Peter Anvin
d55d22996a warnings: strip nasmdoc makeup from help strings
When displaying command line help strings, strip nasmdoc markup.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2024-04-04 13:25:05 -07:00
H. Peter Anvin
33ef63669c doc: improve some formatting, mostly of the warning list
Fix some formatting markups, especially with regards to warnings.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2024-04-04 12:58:32 -07:00
H. Peter Anvin
5f0fb5647e autoconf: remove unnecessary hacks in PA_CROSS_COMPILE
The WINE-disabling hacks were a bit excessive.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2024-04-04 12:57:28 -07:00
H. Peter Anvin
e55c571af4 doc: release notes for 2.16.02
Release notes for 2.16.02 to prepare for imminent release.
2024-04-04 12:56:43 -07:00
H. Peter Anvin
f69119bb56 NASM 2.16.02rc10 2024-01-29 19:09:17 -08:00
H. Peter Anvin
66276870f2 Makefiles: defined $(WARNSRCS), but need to actually use it...
The $(WARNSRCS) definition doesn't help much unless it is actually
used somewhere...

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2024-01-29 19:07:54 -08:00
H. Peter Anvin
4bf01032e5 Makefiles: try to fix compiling with MSVC/nmake
Try to address Makefile portability bugs affecting MSVC/nmake.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2024-01-29 19:00:15 -08:00
H. Peter Anvin
309990f2f9 Version 2.16.02rc9 2024-01-29 17:50:14 -08:00
H. Peter Anvin
fc82905b3c test: add some additional test cases
Some test cases, mostly from bug reports.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2024-01-29 17:25:23 -08:00
H. Peter Anvin
1e965e30ff windows host: add embedded manifest file
Without a manifest, Windows applications force a fixed PATH_MAX limit
to any pathname; this is unnecessary.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2024-01-29 17:19:32 -08:00
H. Peter Anvin
adf4f5cd5e x86/insns.dat: add missing semicolon in comment
Comment was missing a semicolon; fix to avoid unnecessary warning and
to make sure the documentation is generated correctly.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2024-01-29 16:37:09 -08:00
H. Peter Anvin
78a448df72 NASM 2.16.02rc8 2024-01-29 16:25:28 -08:00
Tomasz Kantecki
b0ab00b6a7 x86: SM4-NI VEX support
Add VEX-encoded SM4-NI instructions.

Signed-off-by: Tomasz Kantecki <tomasz.kantecki@intel.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2024-01-29 16:24:38 -08:00
Tomasz Kantecki
5cab6596bc x86/insns.dat: SM3-NI VEX support
Add VEX-encoded SM3-NI instructions.

Signed-off-by: Tomasz Kantecki <tomasz.kantecki@intel.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2024-01-29 16:23:30 -08:00
Tomasz Kantecki
5f684412c7 x86/insns.dat: SHA512-NI VEX support
Add support for VEX-encoded SHA512-NI instructions.

Signed-off-by: Tomasz Kantecki <tomasz.kantecki@intel.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2024-01-29 16:21:21 -08:00
H. Peter Anvin
24275695ff x86/insns.dat: PTWRITE requires the F3 prefix
PTWRITE takes an f3 prefix, not np.

Reported-by: Markus T. Metzger <markus.t.metzger@intel.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2024-01-29 16:15:56 -08:00
H. Peter Anvin
0ba4500534 NASM 2.16.02rc7 2024-01-04 23:25:15 -08:00
H. Peter Anvin
a315659957 autoconf: more aggressively avoid cross-compilation problems
We could end up invoking WINE even when we didn't want to.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2024-01-04 23:21:44 -08:00
H. Peter Anvin
b4300ac280 x86: SMAP instructions are NP
The SMAP instructions are np; notably the prefixed versions of CLAC
are ERETU/ERETS.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2023-12-14 17:57:27 -08:00
H. Peter Anvin
2fae1899ac NASM 2.16.02rc6 2023-12-14 17:06:51 -08:00
H. Peter Anvin
dd52f386b9 x86: implement FRED: ERETS, ERETU, LKGS
Kind of embarrassing... I had not implemented the FRED instruction,
despite personally being one of the architects of FRED ;)

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2023-12-14 17:04:49 -08:00
H. Peter Anvin
84191667f9 NASM 2.16.02rc5 2023-10-16 17:25:27 -07:00
H. Peter Anvin
21c977e717 output/legacy: when converting OUT_SEGMENT, clear the offset
Legacy backends like obj/omf may depend on the offset being zero if
not in use.

Reported-by: Bernd Boeckmann <bernd-freedos@boeckmann.io>
Reported-by: Vladimir Chebotarev <vladimir.chebotarev@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2023-10-16 17:19:45 -07:00
H. Peter Anvin
7d5e549d63 asm/rdstrnum: always handle 64 bits
We should always support up to 8 characters, i.e. 64 bits, in a
string-to-numeric conversion.

Reported-by: Aleksandras Krupica <vaikutisasa@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2023-10-16 16:54:11 -07:00
H. Peter Anvin
a7b1f26057 misc/omfdump: #include <string.h>
Add missing <string.h> include.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2023-10-16 16:53:35 -07:00
H. Peter Anvin
3c8a2913bc NASM 2.16.02rc4 2023-10-16 14:17:45 -07:00
H. Peter Anvin
9f83c383e4 preproc, %map(): require second colon, update documentation
Require the second colon before the grouped parameter count; otherwise
the syntax is ambiguous since an expression can start with (.

Update/complete the documentation and the examples.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2023-10-16 13:42:16 -07:00
H. Peter Anvin
cb96db9b70 preproc: add the ability for %map() to have fixed arguments
Add the ability to have fixed arguments in %map. This is extremely
useful for parameterizing the invoked macro using arguments to a
surrounding macro.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2023-10-16 02:56:13 -07:00
H. Peter Anvin
78bde7562d preproc: factor expand_one_smacro() even more
Separate out counting and parsing smacro parameters into separate
functions. This not only makes the code *way* easier to read, but
these can be re-used e.g. for %map().

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2023-10-16 02:03:56 -07:00
H. Peter Anvin
8584bce804 preproc: handle empty expansion in %map
%map(foo) should expand to the empty string, but instead crashed NASM.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2023-10-16 01:24:20 -07:00
H. Peter Anvin
e10b7f902b NASM 2.16.02rc3 2023-10-16 00:27:43 -07:00
H. Peter Anvin
34eefd3803 preproc: add %map() function and radix specifiers
Add the %map() function which can apply arguments to a macro from a
list.

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.

As part of this, split expand_one_smacro() into two parts: parameter
parsing and macro expansion. This is a very straightforward splitting
of two mostly unrelated pieces of functionality.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2023-10-15 22:43:28 -07:00
H. Peter Anvin
bab37b3501 doc: %hex() is not a chapter!
%hex() is a subsection, not a chapter. Oops!

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2023-10-13 21:33:25 -07:00
H. Peter Anvin
94b053a59c doc: one instance of a __foo__ macro didn't get updated to __?foo?__
__USE_package__ should be __?USE_package?__.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2023-10-13 21:28:36 -07:00