Commit graph

240 commits

Author SHA1 Message Date
H. Peter Anvin
07cef15235 travis: update the warning message in hle.stderr
Nothing wrong, but the text of the warning message has changed after
subordinating it to another warning.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2023-10-13 20:54:56 -07:00
H. Peter Anvin
73676357de BR 3392906: error out on bad syntax "db 1 2"
NASM would try to "eat the comma token" in db expressions, even for
cases where the token was not a comma. Fix that and error out
properly.

To give better error messages, track where in the input string a token
starts or ends. This information is only valid as long as the input
string is kept, but that is just fine for error messages during
parsing.

Reported-by: Peter Cordes <pcordes@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2023-10-11 12:06:58 -07:00
H. Peter Anvin
494d9531dd travis: fix the masmdisp travis test
The masmdisp travis test incorrectly contained an expectation of
error, from the bug fixed in checkin
e0959432fe.

Fix the test to contain the actually expected output.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2022-12-07 09:45:36 -08:00
H. Peter Anvin
db6549c5aa preproc: classify warnings, move into common pp-* namespace
Classify all remaining WARN_OTHER warnings in the preprocessor. Move
all preprocessor warnings except "user" under a common pp-* prefix.

Warn for an out-of-range argument to the %sel() function.

Finally, use "dname" in additional places for consistency and future
ease of use.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2022-11-14 13:12:01 -08:00
H. Peter Anvin
caffd140c0 asm: factor out more warnings into warning classes
Hopefully we'll eventually get rid of WARN_OTHER completely...

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2022-11-08 17:50:45 -08:00
H. Peter Anvin
665e5e3da8 travis: update COFF tests to not expect an embedded filename
When doing a reproducible build with COFF, since checkin
e1423b0573 the filename is suppressed.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2022-11-07 16:18:50 -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
4b5224ba8f test: add dbxsize test
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2021-11-20 23:57:49 +03:00
Cyrill Gorcunov
e2ed7b7e12 x86/insns: add VMGEXIT
The instruction supports two forms with [f2] and [f3].
I guess we might add aliases as VMGEXIT2 and VMGEXIT3.
For now simly leave a second form for ndisasm sake.

https://bugzilla.nasm.us/show_bug.cgi?id=3392755

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2021-05-13 09:14:10 +03:00
Cyrill Gorcunov
c4babdf2db x86/insns: add RMPADJUST
https://bugzilla.nasm.us/show_bug.cgi?id=3392754

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2021-05-13 01:29:32 +03:00
Cyrill Gorcunov
1430995095 x86/insns: add PVALIDATE
https://bugzilla.nasm.us/show_bug.cgi?id=3392753

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2021-05-13 01:27:07 +03:00
Cyrill Gorcunov
984761f924 travis: add vmx test
To test VMX instructions.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2021-05-13 01:25:04 +03:00
Cyrill Gorcunov
aa2dcdec09 travis: add br3392751
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2021-05-03 17:59:08 +03:00
H. Peter Anvin
2469b8b66e Add {rex} prefix, simplify prefix handling, better error messages
Add a {rex} prefix to force REX encoding (typically a redundant 40h
prefix).

For prefix parsing, we can use t_inttwo to encode the prefix slot
number.

Give more verbose error messages for encoding mismatches.
2021-04-27 11:37:42 -07:00
Cyrill Gorcunov
6d95cc8d29 travis: add br3392739
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2021-02-21 01:10:05 +03:00
Cyrill Gorcunov
79ac0d686d Merge branch 'nasm-2.15.xx'
* nasm-2.15.xx:
  preproc: prohibit unmacro while macro expansion
2020-12-31 16:50:25 +03:00
Igor Munkin
f95c7e983c preproc: prohibit unmacro while macro expansion
If macro is undefined while it's being expanded, use after free occurs,
since the MMacro instance is released, but it is still used to proceed
the expansion.

This change forbids macro undefinition: non-fatal error is raised and
the MMacro instance is not released if it is being processed by NASM
preprocessor.

Consider the following example:
| $ cat test.asm
| %macro m 0
| %unmacro m 0
| %endmacro
| m
| $ ./nasm test.asm
| test.asm:4: error: `%unmacro' can't undefine the macro being expanded
| test.asm:2: ... from macro `m' defined here

Fixes BR3392531 and BR3392716.

Signed-off-by: Igor Munkin <imun@cpan.org>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-12-31 16:42:31 +03:00
Cyrill Gorcunov
dc4a619426 travis: add br3392637
Code for testcase provided by Suhwan.

Reported-by: Suhwan <prada960808@gmail.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-11-04 13:15:52 +03:00
Cyrill Gorcunov
e24e18e6b9 travis: add rdpid
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-10-15 23:06:45 +03:00
Cyrill Gorcunov
b3233c77fc travis: update avx
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-10-15 23:02:45 +03:00
Cyrill Gorcunov
4431776fc0 travis: add imm
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-10-15 22:12:02 +03:00
Cyrill Gorcunov
8ff5cecc29 travis: add ilog
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-10-15 22:01:21 +03:00
Cyrill Gorcunov
daa534e55c travis: add hle
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-10-15 00:54:10 +03:00
Cyrill Gorcunov
9d68a8babd travis: add hexfp
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-10-15 00:54:10 +03:00
Cyrill Gorcunov
32efe62b81 travis: add gather
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-10-15 00:54:10 +03:00
Cyrill Gorcunov
0137027911 travis: add floatx
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-10-15 00:54:06 +03:00
Cyrill Gorcunov
ecd704d846 travis: update float test
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-10-15 00:40:36 +03:00
Cyrill Gorcunov
e715b61509 travis: add ctxlocal
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-10-15 00:14:59 +03:00
Cyrill Gorcunov
6334ea16ab travis: add cofftest
Lets run it as win32 since they are sharing
backends in most places but win32 is a way
more widely used.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-10-15 00:11:13 +03:00
Cyrill Gorcunov
247e8ef151 travis: add coffalign
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-10-15 00:07:03 +03:00
Cyrill Gorcunov
407fe40f66 travis: add insertps
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-10-11 15:57:08 +03:00
Cyrill Gorcunov
84c35517de travis: add masmdisp
It is failing right now so I'm not sure if
masm test is correct one. Lets merge it in
this form and update if needed.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-10-11 15:52:41 +03:00
Cyrill Gorcunov
c0e2bbc66a travis: add movd64
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-10-11 15:37:46 +03:00
Cyrill Gorcunov
5f753b9b0d travis: add movhpd
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-10-11 15:33:22 +03:00
Cyrill Gorcunov
7eb3b34ece travis: update nasmformat
No need to generate binaries, just compare
__OUTPUT_FORMAT__ output and add missing
formats.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-10-11 15:31:27 +03:00
Cyrill Gorcunov
4bedceb83c travis: add objexe
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-10-11 13:00:57 +03:00
Cyrill Gorcunov
31ad91346b travis: add time
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-10-11 12:57:08 +03:00
Cyrill Gorcunov
62b8ea045c travis: add selfref
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-10-11 12:50:08 +03:00
Cyrill Gorcunov
985f30df21 travis: add timesneg
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-10-10 16:47:36 +03:00
Cyrill Gorcunov
bbed2ce3ce travis: add pragma
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-10-10 16:43:17 +03:00
Cyrill Gorcunov
e85492c824 travis: add ppindirect
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-10-10 16:37:00 +03:00
Cyrill Gorcunov
b511da48c1 travis: add nullfile
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-10-10 16:33:28 +03:00
Cyrill Gorcunov
5d613ce88b travis: add br3392278
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-10-10 14:21:34 +03:00
Cyrill Gorcunov
52f82633d3 travis: add strlen
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-10-10 14:21:34 +03:00
Cyrill Gorcunov
b07ef09273 travis: add splitea test
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-10-10 14:21:34 +03:00
Cyrill Gorcunov
35b3e90741 travis: add ssesize
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-10-10 14:21:30 +03:00
Cyrill Gorcunov
d06a193750 Merge branch 'nasm-2.15.xx'
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-10-10 13:53:50 +03:00
Cyrill Gorcunov
c2ea414eb3 nasm-t: do not strip newlines from output
Currently we strip newlines from files on read and write
procedures for better diff output, but as being pointed
by hpa@ this makes quite inconvenient to work with tests
in a manual mode.

Thus lets left outputs as is. We have to update all tests
with template outputs since by default output streams are
ending with newline.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-09-18 01:07:53 +03:00
Cyrill Gorcunov
2f8a50d11e nasm-t: add fixme about data reading
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-09-18 00:49:11 +03:00
Cyrill Gorcunov
f77ec1c803 nasm-t: no need to strip json files
The json library can handle newlines by self.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2020-09-18 00:49:11 +03:00