Commit graph

246 commits

Author SHA1 Message Date
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
8ce37daeea doc/changes.src: update to reflect current state
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2023-02-19 21:28:49 -08:00
H. Peter Anvin
b67d42380c doc: fix HTML table of contents generation
Fix the HTML table of contents being completely broken.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2022-12-21 18:23:27 -08:00
H. Peter Anvin
9607c6685f doc/changes.src: document obj segment fix
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2022-12-07 10:55:20 -08:00
H. Peter Anvin
55dc058356 Document CPU LATEVEX, add CPU EVEX and CPU VEX flags
Document CPU LATEVEX and the associated prefixes; add CPU EVEX and CPU
VEX flags to further control encodings.

Fix the error message for invalid encodings due to flags.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2022-12-07 10:11:21 -08:00
H. Peter Anvin
d3afc5c1d7 doc: bring doc/changes.src up to date
Bring doc/changes.src up to date with the current status of tree in
preparation for the 2.16 release.

Note that no 2.15.06 release ever was produced.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2022-11-23 14:35:04 -08:00
H. Peter Anvin
392b2b18a0 doc: document preprocessor functions
Add documentation for preprocessor functions, as well as the flow of
preprocessor expansion.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2022-11-11 20:25:49 -08:00
H. Peter Anvin
df243389e0 doc/changes.src: begin changes.src for 2.16
Once again, need to write these damned release notes.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2022-11-09 19:04:01 -08:00
H. Peter Anvin
93548c2de2 rdoff: kill it off
RDOFF has been deprecated as it has unfixable problems, and has been
announced that it will be killed off in NASM 2.16.

This deletes it once and for all.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2022-11-07 16:49:13 -08:00
Elyes HAOUAS
cdf7ad02c2 Fix some typos
while on it, remove unneeded white spaces.

Signed-off-by: Elyes HAOUAS <ehaouas@noos.fr>
2022-01-09 17:34:35 +01:00
Cyrill Gorcunov
e7c2f0e51c doc/changes: Document rdf header fix
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-10-10 13:36:54 +03:00
H. Peter Anvin (Intel)
52848e8aba doc: improve documentation of %ifid et al
Clarify some of the semantics of %ifid, %ifnum, and %ifstr.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-09-11 16:28:57 -07:00
H. Peter Anvin (Intel)
bf79786e89 Add option to create reproducible output
We need the ability to produce consistent output for our own tests,
anyway, so make this a user-accessible feature. This was requested in
BR 3392635.

This obsoletes the NASM_TEST_RUN environment variable; simply use the
normal NASMENV environment variable instead.

The .obj tests in travis needed to be updated in order to remove the
rather pointless suffix " CONST" from the NASM signatures.

Reported-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-08-27 13:06:08 -07:00
H. Peter Anvin (Intel)
2b4886afdd BR 3392715: fix %ifid with $ and $$
%ifid $ and %ifid $$ has traditionally been false, revert to that
behavior.

Reported-by: Mike Hommey <mh+anfz@glandium.org>
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-08-27 11:43:08 -07:00
H. Peter Anvin (Intel)
6dc8379d6a rdoff: disable broken backend, document deprecation
The RDOFF backend has been broken since at least NASM 2.14, throwing
an immediate assert. Since only one person appears to have even
noticed, and fixing it properly looks like it would take quite a bit
of work, disable this back end and document its deprecation.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-08-17 15:26:11 -07:00
H. Peter Anvin (Intel)
235a115130 doc: document long-standing restrictions in the use of $ in Dx
$ in data expressions is hazardous. A proper fix for this turns out to
be quite complex, as it requires the expression engine to propagate
additional data. For now, just put it into the documentation.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-08-17 15:10:26 -07:00
H. Peter Anvin
d988ce719c Fix inefficient encoding of MPX instructions
BNDMK, BNDLDX, and BNDSTX are split-SIB (MIB) instructions, but do
*not* require a SIB encoding. However, TILELOAD* and TILESTORE* *do*
require a SIB in all cases. Split the MIB flag into MIB (split
address) and SIB (SIB required) flags.

This fixes travis test mpx.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-08-13 17:21:00 -07:00
H. Peter Anvin
7839766663 eval, float: fix the __float80e__ and __float128h__ conversions
We need to add the byte offset into the floating-point value to get
the correct result for these floating point to integer conversions.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-08-13 13:41:46 -07:00
H. Peter Anvin (Intel)
0e6e013813 nasm: don't make -L+ imply -Lw
-Lw really is only useful to debug NASM crashes, and can hugely slow
down the assembler. Make -L+ simply imply full verbosity; if NASM
crashes use -Lw+ instead.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-07-30 15:25:00 -07:00
H. Peter Anvin (Intel)
e743b89f25 BR 2292703: Add memory sizes to SSE and some other instructions
Most SSE instructions were missing memory operand sizes, resulting in
error if a memory operand was specified with explicit size.

Reported-by: <nemeth.marton@hotmail.com>
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-07-27 13:20:38 -07:00
H. Peter Anvin (Intel)
421e4d03ea changes.src: document COFF alignment fix
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-07-27 12:36:36 -07:00
H. Peter Anvin
6263a2a4c2 preproc: add %*? and %*??
The %? and %?? tokens are ambiguous when used inside a multi-line
macro. Add tokens %*? and %*?? that only expand during single-macro
expansion.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-07-18 13:47:59 -07:00
H. Peter Anvin
ec20417002 changes.src: slighly better description of new instructions
Describe what the new instructions actually are.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-07-17 17:46:45 -07:00
H. Peter Anvin
d081f0db5d fp: support bfloat16 constants
Support generating bfloat16 constants. This is a bit awkward, as "DW"
already generates IEEE half precision constants; therefore there is no
longer a single floating-point format for each size. This requires
some replumbing.

Fortunately bfloat16 fits in 64 bits, so support generating them with
a macro that uses __?bfloat16?__() to convert to integers first before
passing them to DW.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2020-07-16 23:11:03 -07:00
H. Peter Anvin
b31a4c9906 Add support for new instructions from ISE June 2020
Add support for new instructions as defined in the Instruction Set
Extensions manual as of June 2020.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2020-07-16 21:52:15 -07:00
H. Peter Anvin (Intel)
861f2cf269 changes.src: document LEA fix
Document fix of LEA without square brackets.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-07-10 02:49:14 -07:00
H. Peter Anvin (Intel)
be1be3f627 %use masm: much better documentation
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-07-10 02:46:23 -07:00
H. Peter Anvin (Intel)
22a3f567c0 changes.src: document %00 fix
Add %00 fix to release note.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-07-10 01:59:53 -07:00
H. Peter Anvin (Intel)
771e714c71 changes.src: update 2.15.03 release notes
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-07-09 19:41:12 -07:00
H. Peter Anvin (Intel)
6f52ecfa49 changes.src: update with current state of 2.15.03
Add release notes for 2.15.03 as it currently exists.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-07-07 09:33:42 -07:00
H. Peter Anvin (Intel)
fee0db94a3 changes.src: fixed Mkfiles/msvc.mak
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-07-01 21:31:32 -07:00
H. Peter Anvin (Intel)
a08c0f9adf changes.src: document %{:} macro parameter range fix
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-06-30 12:50:49 -07:00
H. Peter Anvin (Intel)
5c85b7f87b changes.src: update changes for 2.15.02 (so far)
Begin the release note list for 2.15.02.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-06-30 10:47:34 -07:00
H. Peter Anvin (Intel)
aa542870ae changes.src: update for 2.15.01
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-06-27 16:14:50 -07:00
H. Peter Anvin (Intel)
82fc1bea76 doc: document operator and Dx changes
Document new operators, removal of special casing for %if, and the
MASM-like enhancements to the Dx directives.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-06-25 15:46:09 -07:00
H. Peter Anvin (Intel)
d499755f54 doc: various documentation updates 2020-06-14 22:43:47 -07:00
Andrey Matyukov
4df1386eb0 doc: Update for upcoming 2.15 release
Update release notes and documentation for 2.15

Signed-off-by: Andrey Matyukov <andrey.matyukov@intel.com>
Signed-off-by: Chang S. Bae <chang.seok.bae@intel.com>
2020-05-06 20:37:09 +00:00
H. Peter Anvin (Intel)
9bb55bd127 Merge branch 'evalmacro'
Resolved Conflicts:
	asm/preproc.c
	output/elf.h
	output/outelf.c
	output/outelf.h
	version

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2019-04-24 11:14:43 -07:00
H. Peter Anvin
dc5939b496 Handle more ELF section types
note, preinit_array, init_array, and fini_array are ELF section types
that can matter to the assembly programmer.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2019-02-26 01:44:55 -08:00
H. Peter Anvin
b2004511dd ELF: handle more than 32,633 sections
Dead code elimination in ELF uses separate ELF sections for every
functions or data items that may be garbage collected. This can end up
being more than 32,633 sections which, when the ELF internal and
relocation sections are added in, can exceed the legacy ELF maximum of
65,279 sections.

Newer versions of the ELF specification has added support for much
larger number of sections by putting a place holder value (usually
SHN_XINDEX == 0xffff, but 0 in some cases) into fields where the
section index is a 16-bit value, and storing the full value in a
diffent place: the program header uses entries in section header 0,
the symbol table uses an auxiliary segment with the additional
indicies; the section header did not need it as the sh_link field is
already 32 (or 64) bits long.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2019-02-26 00:02:35 -08:00
H. Peter Anvin (Intel)
1df7263ae9 warnings: add [warning push] and [warning pop]
Add [warning push] and [warning pop] directives.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2019-01-11 13:13:03 -08:00
H. Peter Anvin
88477764f3 ELF: add support for the ELF "merge" attribute
Add support for the "merge" attribute in ELF, along with the
associated "strings" and size specifier attributes.

Fix a few places where we used "int", but a larger type really ought
to have been used.

Be a bit more lax about respecifying attributes. For example, align=
can be respecified; the highest resulting value is used.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2018-12-30 07:54:48 -08:00
H. Peter Anvin
8eedebc1ed changes.src: document suppressed messages
Document the suppression of error messages from "label changed".

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2018-12-27 11:32:42 -08:00
H. Peter Anvin
6b8765fb0c changes.src: document fix for listing module crash
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2018-12-26 04:42:01 -08:00
H. Peter Anvin (Intel)
800c168688 --no-line: new option to ignore %line directives
For debugging preprocessed code, it is useful to be able to ignore
%line directives rather than having to filter them out externally.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2018-12-14 12:22:11 -08:00
H. Peter Anvin
5e1d1a8edd changes.src: update list of changes since 2.14 2018-12-10 13:36:58 -08:00
H. Peter Anvin
3475462ee8 nasm: fix the combination -E -MD, handle -MD without a filename
-E -MD should work and output a dependency file.
-MD can be used without a filename; there is a default filename or
-\c{-MF} can be used.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2018-11-28 12:40:58 -08:00
H. Peter Anvin
c06c87dbb5 changes.src: fp bug: there are probably other corner cases
There are probably other corner cases where we could at the very
least produce an incorrectly rounded result, so be a bit more cagey
about the description of the bug.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2018-11-28 09:50:14 -08:00
H. Peter Anvin
d7498067ca BR 3392368: actually fix the documentation; add test case
Add a mimimal test case for this bug; correct the documentation.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2018-11-26 21:38:14 -08:00
H. Peter Anvin
8fa279954c Correctly document the BR 3392368 fix, add test case
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2018-11-26 14:59:35 -08:00