aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * travis: add br3392396Cyrill Gorcunov2020-08-253-0/+18
| | | | | | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
| * travis: add br3392392Cyrill Gorcunov2020-08-254-0/+37
| | | | | | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
| * travis: add v4Cyrill Gorcunov2020-08-254-0/+40
| | | | | | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
| * travis: add sregCyrill Gorcunov2020-08-253-0/+78
| | | | | | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
| * travis: add retCyrill Gorcunov2020-08-256-0/+104
| | | | | | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
| * travis: add vaesencCyrill Gorcunov2020-08-253-0/+32
| | | | | | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
| * travis: add vexCyrill Gorcunov2020-08-254-0/+32
| | | | | | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
| * travis: add vgatherCyrill Gorcunov2020-08-253-0/+88
| | | | | | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
| * travis: add warnstackCyrill Gorcunov2020-08-254-0/+36
| | | | | | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
| * travis: add vpcmpCyrill Gorcunov2020-08-253-0/+40
| | | | | | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
| * travis: add winalignCyrill Gorcunov2020-08-253-0/+59
| | | | | | | | | | | | | | It is disabled by now -- we need to teach nasm-t to skip some parts of output (due to format specifics). Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
| * travis: nasm-t -- add ability to disable testCyrill Gorcunov2020-08-251-0/+5
| | | | | | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
| * travis: add xdefine testCyrill Gorcunov2020-08-253-0/+28
| | | | | | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
| * travis: add br3392275Cyrill Gorcunov2020-08-253-0/+23
| | | | | | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
| * travis: nasm-t -- add ability to generate new testsCyrill Gorcunov2020-08-251-0/+118
| | | | | | | | | | | | Just to not fill descriptor by hands every time. Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
| * travis: add xpaste testCyrill Gorcunov2020-08-243-0/+18
| | | | | | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
| * travis: add avx2Cyrill Gorcunov2020-08-243-0/+1619
| | | | | | | | | | | | Initial conversion by nasm64developer. Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
| * travis: add br3104312Cyrill Gorcunov2020-08-243-0/+24
| | | | | | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
| * travis: add amx testCyrill Gorcunov2020-08-243-0/+49
| | | | | | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
| * travis: update absoluteCyrill Gorcunov2020-08-241-0/+3
| | | | | | | | | | | | To match test/ instance. Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
| * travis: add a64 testCyrill Gorcunov2020-08-243-0/+41
| | | | | | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* | nasm.h: fix comment for TOKEN_PREPROC_SQQH. Peter Anvin (Intel)2020-08-251-1/+1
| | | | | | | | | | | | This token is %*?? not %*? Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* | Merge tag 'nasm-2.15.04'H. Peter Anvin (Intel)2020-08-2545-732/+1242
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NASM 2.15.04 Conflicts: asm/listing.h asm/pptok.pl asm/preproc.c version This doesn't pass travis test 3392711, which is using an extremely odd construct of %?? in the middle of an argument sequence for an smacro while not being in a macro itself, and expecting it to expand to the macro name. This seems to *really* confuse the master branch. Resolve this later...
| * NASM 2.15.04nasm-2.15.04H. Peter Anvin (Intel)2020-08-201-1/+1
| |
| * NASM 2.15.04rc6nasm-2.15.04rc6H. Peter Anvin2020-08-201-1/+1
| |
| * Auto-make the warning filesH. Peter Anvin2020-08-184-24/+70
| | | | | | | | | | | | | | | | | | The warning files are generated by a script, but the scripts is fast enough run every time a C file is updated. To prevent having to rebuild every file, however, make the generation script only actually modify the file if it has changed. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
| * br3392643: update travis testH. Peter Anvin2020-08-181-1/+1
| | | | | | | | | | | | | | | | The warning output by obj symbol truncation has been changed, update the travis reference accordingly. Cc: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
| * outobj: change cutting -> truncatingH. Peter Anvin2020-08-181-1/+1
| | | | | | | | | | | | | | | | I believe "truncating" is the more common terminology in this case, so change to it for aestetic reasons only. Cc: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
| * outobj: limit excessive length warning to 64 charactersH. Peter Anvin2020-08-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | The case where we warn for excessive length should presumably have been %.nnns which means limit length to nnn characters, rather than %nnns which means left-pad with spaces to nnn bytes if possible. Also change the limit from 128 to 64, to make it more likely to not line break. Cc: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
| * travis: add br3392643 testCyrill Gorcunov2020-08-184-0/+18
| | | | | | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
| * BR3392646: output/outobj.c: fix memory corruption in long object namesCyrill Gorcunov2020-08-181-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we encode a name we put its length before it, the storage is one byte width so the name can't be more than UINT8_MAX (ie 255) bytes length. Moreover if one provide a name more than RECORD_MAX then we simply overwrite random memory. Thus lets do as in other obj_check calls -- shrink the size we gonna use. But unlike oter code lets yield a warning as well. Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
| * travis: add br3392711 testCyrill Gorcunov2020-08-183-0/+30
| | | | | | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
| * BR3392711: preproc: fix memory corruption in expand_one_smacroCyrill Gorcunov2020-08-181-4/+4
| | | | | | | | | | | | | | | | The mempcpy helper returns *last* byte pointer thus when we call set_text_free we have to pass a pointer to the start of the string. Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
| * NASM 2.15.04rc5nasm-2.15.04rc5H. Peter Anvin (Intel)2020-08-171-1/+1
| |
| * rdoff: disable broken backend, document deprecationH. Peter Anvin (Intel)2020-08-173-13/+15
| | | | | | | | | | | | | | | | | | 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>
| * doc: document long-standing restrictions in the use of $ in DxH. Peter Anvin (Intel)2020-08-172-10/+27
| | | | | | | | | | | | | | | | $ 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>
| * BR3392712: pp_tokline: fix double freeCyrill Gorcunov2020-08-171-0/+3
| | | | | | | | | | | | | | | | | | Make sure the data being freed get double freed after -- the pointers must be zapped (actually nasm_free and free_tlist support being called with NULL pointer as an argument). Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
| * NASM 2.15.04rc4nasm-2.15.04rc4H. Peter Anvin2020-08-131-1/+1
| |
| * Fix inefficient encoding of MPX instructionsH. Peter Anvin2020-08-135-19/+27
| | | | | | | | | | | | | | | | | | | | | | 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>
| * eval, float: fix the __float80e__ and __float128h__ conversionsH. Peter Anvin2020-08-132-1/+4
| | | | | | | | | | | | | | 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>
| * configure.ac: add option to compile with suggestion warningsH. Peter Anvin (Intel)2020-07-301-0/+12
| | | | | | | | | | | | | | Add a configure option to enable suggestion warnings, currently a set of -Wsuggest-attribute=* warnings. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
| * Add [v]printf_func() attributes where appropriateH. Peter Anvin (Intel)2020-07-306-10/+12
| | | | | | | | | | | | | | | | Add a new macro vprintf_func() for vprintf-style functions, and add printf_func() and vprintf_func() attribute arguments whereever meaningful. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
| * NASM 2.15.04rc3nasm-2.15.04rc3H. Peter Anvin (Intel)2020-07-301-1/+1
| |
| * output/codeview.c: use list_for_each_safe() to free a listH. Peter Anvin (Intel)2020-07-301-5/+4
| | | | | | | | | | | | | | | | | | | | | | Using list_for_each() is by definition not safe when freeing the members of the list, use list_for_each_free() instead. Also, use nasm_new() and nasm_free() where appropriate. This was discovered as a downstream bug from BR 3392707. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
| * BR 3392705: AVX512: reinstate the SSE-like opcodes for VPCMPEQ/GTH. Peter Anvin (Intel)2020-07-302-0/+54
| | | | | | | | | | | | | | | | | | | | The VPCMP instructions are controlled by an immediate byte, but there is also a set of SSE-derived legacy opcodes for VPCMPEQ and VPCMPGT. For the specific cases of VPCMPEQ and VPCMPGT, prefer those opcodes since they are one byte shorter. Reported-by: ig <glucksmann@avast.com> Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
| * BR 3392708: fix NULL pointer reference for invalid %stacksizeH. Peter Anvin (Intel)2020-07-302-5/+13
| | | | | | | | | | | | | | | | | | | | After issuing an error message for a missing %stacksize argument, need to quit rather than continuing to try to access the pointer. Fold uses of tok_text() while we are at it. Reported-by: Suhwan <prada960808@gmail.com> Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
| * parser: when flattening an eop, must preserve any data bufferH. Peter Anvin (Intel)2020-07-302-5/+32
| | | | | | | | | | | | | | | | | | | | | | | | An eop may have a data buffer associated with it as part of the same memory allocation. Therefore, we need to move "subexpr" up instead of merging it into "eop". This *partially* resolves BR 3392707, but that test case still triggers a violation when using -gcv8. Reported-by: Suhwan <prada960808@gmail.com> Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
| * nasm: don't make -L+ imply -LwH. Peter Anvin (Intel)2020-07-304-9/+20
| | | | | | | | | | | | | | | | -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>
| * insns.pl: audit for impossible Sx patterns; fix a fewH. Peter Anvin (Intel)2020-07-306-21/+141
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Break the instruction processing if there are impossible combinations of Sx flags and operand sizes. If the intent is to always require explicit sizes, use the SX flag. The INSERTPS instruction pattern was explicitly wrong, the rest of these are nuisance fixes. TODO: fix the disassembler to be able to exclude patterns where these bits don't matter. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
| * NASM 2.15.04rc2nasm-2.15.04rc2H. Peter Anvin (Intel)2020-07-281-1/+1
| |