summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* version: bump to 2.13.04rc0 until we have an actual -rcnasm-2.13.xxH. Peter Anvin2018-02-141-1/+1
| | | | Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* insns.dat: add aliases of the RET instruction with explicit operand sizeH. Peter Anvin2018-02-143-1/+81
| | | | | | | Make it possible to generate variants of RET(F) with explicit operand size specified without having to use o16/o32/o64. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* nasmlib: Drop pure_func attrib from seg_allocCyrill Gorcunov2018-02-101-1/+1
| | | | | | | | | It not only reads static variable but writes it back as well. https://bugzilla.nasm.us/show_bug.cgi?id=3392461 Reported-by: Michael Šimáček <msimacek@redhat.com> Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* nasmlib: Drop unused seg_initCyrill Gorcunov2018-02-101-2/+0
| | | | | | | | The helper has been eliminated in 2c4a4d5810d0a59b033a07876a2648ef5d4c2859 https://bugzilla.nasm.us/show_bug.cgi?id=3392461 Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* NASM 2.13.03nasm-2.13.03H. Peter Anvin2018-02-071-1/+1
|
* doc: some more documentation on 64-bit programmingH. Peter Anvin2018-02-071-7/+14
| | | | | | Some more information about 64-bit programming and its quirks. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* doc: clarify need for ABS QWORD to do a 64-bit absolute loadH. Peter Anvin2018-02-071-1/+1
| | | | | | | | The rarely used 64-bit absolute load instruction (what gas calls movabsq) needs to be declared ABS if we are in relative mode, which is normally the case. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* doc: add a bit more text about 64-bit immediates and pointersH. Peter Anvin2018-02-071-1/+19
| | | | | | | | There are some gotchas in how immediates and pointers are loaded in 64-bit mode and how they interact with optimization. Document those cases. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* NASM 2.13.03rc6nasm-2.13.03rc6H. Peter Anvin2018-02-071-1/+1
|
* doc/changes.src: add missing blank line between bullet pointsH. Peter Anvin2018-02-071-0/+1
| | | | | | | Bullet points are considered paragraphs, so our documentation compiler require an empty line between them. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* vaesenc.asm: add a few more test casesH. Peter Anvin2018-02-071-1/+17
| | | | Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* NASM 2.13.03rc5nasm-2.13.03rc5H. Peter Anvin2018-02-061-1/+1
|
* Merge remote-tracking branch 'origin/nasm-2.13.xx' into nasm-2.13.xxH. Peter Anvin2018-02-061-1/+1
|\ | | | | | | | | | | | | Resolved Conflicts: include/iflag.h Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| * NASM 2.13.03rc4nasm-2.13.03rc4Cyrill Gorcunov2018-02-071-1/+1
| | | | | | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
| * iflag: Fix iflag_cmp_cpu_levelCyrill Gorcunov2018-02-061-2/+2
| | | | | | | | | | | | | | | | In commit a8f3698cf31a9379cf85416c6cb40c3340e90adb the iflag_cmp_cpu_level escaped updating. Fix it. Reported-by: Tomasz Kantecki <tomasz.kantecki@intel.com> Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* | iflag: automatically assign values, saner handling of CPU levelsH. Peter Anvin2018-02-067-209/+283
|/ | | | | | | | | | | | | | | Automatically assign values to the instruction flags; we ended up with a case where pushing flags into the next dword caused comparison failures due to other places in the code explicitly comparing field[3]. This creates necessary defines for this not to happen; it also cleans up a fair bit of the iflag code. This resolves BR 3392454. Reported-by: Thomasz Kantecki <tomasz.kantecki@intel.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* NASM 2.13.03rc3nasm-2.13.03rc3Cyrill Gorcunov2018-02-051-1/+1
| | | | | | | Need a new version due to occasional merge, see da1cb0e0003a9f2a6be141e4bc5273b1a8681b39 Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* Revert "insns.dat: Add VAESENC, VAESENCLAST instructions"Cyrill Gorcunov2018-02-051-24/+0
| | | | | | | This reverts commit d625f85cd2a3abbdad610d222096a19368df09f9. Occasionally merged in from the master, while it was here already in different form.
* NASM 2.13.03rc2nasm-2.13.03.rc2Cyrill Gorcunov2018-02-051-1/+1
| | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* changes.doc: document dwarf issueCyrill Gorcunov2018-02-051-0/+1
| | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* output: elf -- Add missing dwarf loc sectionCyrill Gorcunov2018-02-051-0/+3
| | | | | | | | | Lost during elf engine unification in 4670887c4db772d2d44889fbc4509b3fb65b311f https://bugzilla.nasm.us/show_bug.cgi?id=3392459 Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* insns.dat: Add VAESENC, VAESENCLAST instructionsTomasz Kantecki2018-02-051-0/+24
| | | | | Signed-off-by: Tomasz Kantecki <tomasz.kantecki@intel.com> Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* NASM 2.13.03rc1nasm-2.13.03rc1H. Peter Anvin2018-01-081-1/+1
|
* changes.doc: document VAES* and VPCLMULQDQH. Peter Anvin2018-01-081-0/+4
| | | | | | Document new instruction support. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* insns.dat: Add VPCLMULQDQ instruictionsTomasz Kantecki2018-01-081-0/+27
| | | | | | | https://bugzilla.nasm.us/show_bug.cgi?id=3392455 Signed-off-by: Tomasz Kantecki <tomasz.kantecki@intel.com> Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* insns-flags: Add VPCLMULQDQ flagCyrill Gorcunov2018-01-081-0/+1
| | | | | | In sake of https://bugzilla.nasm.us/show_bug.cgi?id=3392455 Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* insns.dat: Move VAES instructions to AES groupCyrill Gorcunov2018-01-081-24/+25
| | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* insns.dat: Add VAESENC, VAESENCLAST instructionsTomasz Kantecki2018-01-081-0/+24
| | | | | Signed-off-by: Tomasz Kantecki <tomasz.kantecki@intel.com> Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* insns-iflags: Add AES, VAES flagsCyrill Gorcunov2018-01-081-19/+21
| | | | | | In sake of https://bugzilla.nasm.us/show_bug.cgi?id=3392454 Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* NASM 2.13.02nasm-2.13.02H. Peter Anvin2017-11-291-1/+1
|
* doc: clean up 2.13.02 release notes, document MachO debug optionH. Peter Anvin2017-11-292-19/+8
| | | | | | | | Clean up the 2.13.02 release notes: we don't need to list every single subcase where we would crash, as it is not really relevant to the user. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* doc: clarify the BITS issue for 2.13.02.H. Peter Anvin2017-11-291-1/+2
| | | | Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* NASM 2.13.02rc3nasm-2.13.02rc3Cyrill Gorcunov2017-11-261-1/+1
|
* docs: changes -- Drop leftoverCyrill Gorcunov2017-11-251-1/+1
| | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* doc: Update changes for 2.13.02Cyrill Gorcunov2017-11-251-0/+36
| | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* prepoc: Fix heap-buffer-overflow in detokenCyrill Gorcunov2017-10-221-1/+2
| | | | | | | | Just make sure we've a data to process. https://bugzilla.nasm.us/show_bug.cgi?id=3392424 Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* preproc: Fix SIGSEGV if not data provided for implicit pastingCyrill Gorcunov2017-10-221-2/+2
| | | | | | https://bugzilla.nasm.us/show_bug.cgi?id=3392423 Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* preproc: Fix sigsegv in find_ccCyrill Gorcunov2017-10-221-0/+2
| | | | | | | | | | For specially formed code we can have skip_white_ to end up with nil pointer which should be taken into account. https://bugzilla.nasm.us/show_bug.cgi?id=3392435 Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* peproc: Fix sigsevg in smacro expansionCyrill Gorcunov2017-10-221-0/+10
| | | | | | | | | | | | In case if smacro is called with inapropriate number of arguments exit early. Actually we have to handle this situation more gracefully but this requires a way more efforts than two line patches (need to refactor macro expansion). https://bugzilla.nasm.us/show_bug.cgi?id=3392431 Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* prepoc: mmacro -- Don't left nparam_max less than nparam_minCyrill Gorcunov2017-10-221-1/+4
| | | | | | | | Otherwise we hit nil dereference in best case. https://bugzilla.nasm.us/show_bug.cgi?id=3392436 Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* preproc: Don't access offsting byte on unterminated stringsCyrill Gorcunov2017-10-221-1/+3
| | | | | | https://bugzilla.nasm.us/show_bug.cgi?id=3392446 Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* configure.ac: more debugging optionsH. Peter Anvin2017-10-111-5/+20
| | | | | | | | Make -O0 imply -fno-omit-frame-pointer Add options to compile/link with AddressSanitizer and UndefinedSanitizer. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* Remove duplicate warnings for immediate overflowH. Peter Anvin2017-10-111-18/+0
| | | | | | | | | For immediates, we had one overflow test in the bytecode interpreter (in most cases via warn_overflow_opd()) and one in out(); this meant we got two warnings instead of one every time. Replace with only the one in out(). Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* BR 3392442: correct vmin in overflow_general()H. Peter Anvin2017-10-112-1/+7
| | | | | | | | The calculation of vmin in overflow_general() was bogus, causing silliness like ~80h being warned about in a byte context. Reported-by: C. Masloch <pushbx@38.de> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* NASM 2.13.02rc2nasm-2.13.02rc2H. Peter Anvin2017-09-271-1/+1
|
* BR 3392362: generate RMI versions of PEXTRW when possibleH. Peter Anvin2017-09-272-4/+9
| | | | | | | | | We could generate the MRI version (SSE 4.1) instead of the RMI (SSE 2) version of these instructions if a 64-bit register was given as the destination. Reported-by: Vasiliy Olekhov <olekhov@gmail.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* test: add Makefile target for RDOFF filesH. Peter Anvin2017-09-272-1/+5
| | | | Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* .gitignore: add more test file extensionsH. Peter Anvin2017-09-271-1/+6
| | | | | | More file extensions used in the test directory to be ignored. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* BR 3392411: smartalign: make sure we always define the end symbolH. Peter Anvin2017-09-272-2/+24
| | | | | | | | | We need to always define the end symbol, otherwise we might find ourselves in a situation where the alignment code grows (common!) and then the symbol is defined late. Reported-by: ig <glucksmann@avast.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* BR 3392437: Fix diagnostic for negative value in TIMESH. Peter Anvin2017-09-273-3/+8
| | | | | | | Issue a diagnostic and don't panic for invalid TIMES values. Reported-by: C. Masloch <pushbx@38.de> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>