H. Peter Anvin [Sat, 25 Feb 2012 05:51:46 +0000 (21:51 -0800)]
HLE: Implement the basic mechanism for XACQUIRE/XRELEASE
This implements the mechanism for XACQUIRE/XRELEASE. It does not
include the necessary annotations in insns.dat.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sat, 25 Feb 2012 05:50:53 +0000 (21:50 -0800)]
nasm.c: Fix is_suppressed_warning()
The logic in is_suppressed_warning() was severely wrong, which would
cause a lot of legitimate warnings to be suppressed while some
warnings would be duplicated.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sat, 25 Feb 2012 04:57:04 +0000 (20:57 -0800)]
HLE: Split the LOCK and REP prefix slots
With HLE, the sequence REP LOCK actually makes sense, so support it.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Fri, 10 Feb 2012 19:11:08 +0000 (11:11 -0800)]
insns: create a symbolic "wait" token for the \341 byte code
Create a symbolic name "wait" for the \341 byte code, so we don't have
to open-code it.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Fri, 10 Feb 2012 19:08:09 +0000 (11:08 -0800)]
insns: fix IMUL patterns to get rid of open-coded \100 bytecodes
There already is a standard encoding for "use this operand in multiple
slots"; no need to open-code it.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Fri, 10 Feb 2012 00:24:32 +0000 (16:24 -0800)]
insns: correct the TSX opcodes
All except XTEST are RTM, not HLE; XBEGIN is like a JMP or CALL.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cyrill Gorcunov [Thu, 9 Feb 2012 22:11:22 +0000 (02:11 +0400)]
insns: Add AVX2 transactional synchronization extensions
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
H. Peter Anvin [Fri, 10 Feb 2012 00:20:21 +0000 (16:20 -0800)]
insns: replace open-coded \322 opcode with odf (operand default)
Create a mnemonic for the open-coded opcode \322.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H.J. Lu [Fri, 3 Feb 2012 20:06:04 +0000 (12:06 -0800)]
backend: add support for x32 ELF
Add an x32 ELF (32-bit code with the CPU in 64-bit mode) backend.
H. Peter Anvin [Wed, 21 Dec 2011 16:26:48 +0000 (08:26 -0800)]
BR 3463230: Add VMFUNC instruction
Add VMFUNC instruction from the Intel SDM version 041.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cyrill Gorcunov [Sat, 17 Dec 2011 08:09:02 +0000 (12:09 +0400)]
insns: Fix up sizes for MOVSD and VMOVSS instructions
Reported-by: Jasper Neumann <jasper.neumann@scpsoftware.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 4 Dec 2011 21:56:40 +0000 (01:56 +0400)]
Don't forget to setup warning levels on preprocessor phase
http://bugzilla.nasm.us/show_bug.cgi?id=3143109
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 4 Dec 2011 21:44:43 +0000 (01:44 +0400)]
Drop tab/space mess from parse_cmdline
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 4 Dec 2011 21:39:04 +0000 (01:39 +0400)]
Use proper bracing on setting warnings in comman line parsing
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 4 Dec 2011 21:01:06 +0000 (01:01 +0400)]
Add WARN_IDX helper and ERR_WARN_TERM named constant
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 4 Dec 2011 15:24:25 +0000 (19:24 +0400)]
Simplify is_suppressed_warning helper
The former is really hard to read.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 20 Nov 2011 13:16:28 +0000 (17:16 +0400)]
BR3392199: Revert "insns: Add MOVD as aliases to MOVQ for compatibility with AMD"
This reverts commit
70712c0df6c437c50452c4997aa2e3de5a0e0299.
Conflicts:
insns.dat
Our instructions matcher fuzzy logic fails to handle it at moment.
Reported-by: KO Myung-Hun <komh@chollian.net>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 20 Nov 2011 06:42:13 +0000 (10:42 +0400)]
preproc: Proper bracing with list_for_each
It is a potential place for a bug if list_for_each
helper is used with multiple lines of code without
a proper bracing.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Mon, 14 Nov 2011 21:21:48 +0000 (01:21 +0400)]
insns.dat: Fix VPCMPEQQ template
http://bugzilla.nasm.us/show_bug.cgi?id=3392197
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sat, 12 Nov 2011 07:41:51 +0000 (11:41 +0400)]
BR3392198: Fix compilation warning on prefixes
insn->prefixes might contain not only values from
'enum prefixes' but from 'enum reg_enum' as well so
make it generic 'int' instead.
This calms down the compiler about enum's mess and
eliminates a wrong assumption that we always have
values by particular type in this field.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sat, 12 Nov 2011 05:47:27 +0000 (09:47 +0400)]
BR3392195: insns: Drop MMX flag from MOVD
Typo in specification.
Reported-by: Jasper Neumann <sirrida@web.de>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Fri, 11 Nov 2011 09:04:20 +0000 (13:04 +0400)]
insns: Fix typos for vcmpeq aliases
The patch came from herumi@nifty.com
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 9 Oct 2011 15:04:14 +0000 (19:04 +0400)]
preproc: Drop NULL assignments for static variables
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 9 Oct 2011 14:58:46 +0000 (18:58 +0400)]
preproc: A few style fixups
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Wed, 5 Oct 2011 20:26:36 +0000 (00:26 +0400)]
BR3376406: Update default optimization level in man
Update default optimization level in man to reflect
the reality.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 2 Oct 2011 06:53:37 +0000 (10:53 +0400)]
insns: Add MOVD as aliases to MOVQ for compatibility with AMD
AMD has MOVD for both 32bit and 64bit GPRs so in a sake of
compatibility bring them into insns.dat.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 2 Oct 2011 05:18:34 +0000 (09:18 +0400)]
preproc: %ifenv should require environment variable name to exist
Otherwise naked %ifenv/%endif passes without a notice.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sat, 1 Oct 2011 21:06:29 +0000 (01:06 +0400)]
BR3414012: Make %if[n]def to handle tail spaces
In case if there a trailing spaces after expansion
%if[n]def might produce a false alarms on macro id
being expected.
Note it also makes the constructions like bare
%ifdef
%endif
invalid, while before they were passed well without
a notice.
Reported-by: KO Myung-Hun
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 25 Sep 2011 14:01:45 +0000 (18:01 +0400)]
assemble: Drop redundant variable
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Jiri Malak [Tue, 20 Sep 2011 17:37:06 +0000 (21:37 +0400)]
BR3411280: Fix incorrect compiler option for OS/2 target in Open Watcom makefile
For OS2 target the -bt option should be set accordingly.
Signed-off-by: Jiri Malak <malak.jiri@gmail.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Tue, 30 Aug 2011 21:34:43 +0000 (01:34 +0400)]
insns.dat: Fixup VGATHERx instructions
As being spotted by nasm64developer the memory
operands size is incorrect. Fix it.
Reported-by: nasm64developer
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Tue, 30 Aug 2011 21:22:43 +0000 (01:22 +0400)]
Add AVX2 test file
nasm64developer kindly provided a testfile converted
to nasm format.
http://sourceware.org/ml/binutils/2011-06/msg00150.html
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 28 Aug 2011 20:07:17 +0000 (00:07 +0400)]
A couple of simplifications to assemble.c
- GEN_SIB and GEN_MODRM helpers added
- a number of tabs vs space fixs
- more use of is_class() helper
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 28 Aug 2011 15:53:11 +0000 (19:53 +0400)]
parser: No need to split line if it a bit longer than 80 chars
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 28 Aug 2011 14:49:00 +0000 (18:49 +0400)]
Add IS_SREG and IS_FSGS helpers
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 28 Aug 2011 14:02:31 +0000 (18:02 +0400)]
A few style fixups in parser.c
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 28 Aug 2011 13:07:26 +0000 (17:07 +0400)]
elf64: Make linelist to look the same as elf32
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 28 Aug 2011 13:05:17 +0000 (17:05 +0400)]
elf32: Drop holes in linelist structure
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 28 Aug 2011 13:03:21 +0000 (17:03 +0400)]
outobj: Reorder Segment members to eliminate holes
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 28 Aug 2011 13:00:04 +0000 (17:00 +0400)]
outieee: Reorder ieeeSection members to eliminate holes
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 28 Aug 2011 12:33:39 +0000 (16:33 +0400)]
Drop empty line and bracket
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 28 Aug 2011 11:00:26 +0000 (15:00 +0400)]
Style tuneup of nasm.h
- a number of tabs to space conversion
- redundant spaces removed
- structure elements alignment
No functional changes.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
H. Peter Anvin [Mon, 22 Aug 2011 21:09:04 +0000 (14:09 -0700)]
disasm.c: ESP/RSP cannot be indicies, but XMM4/YMM4 can be
If we have XMM4/YMM4 as a VSIB, it does not mean no index; that is
only for scalar encoding.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
H. Peter Anvin [Mon, 22 Aug 2011 20:52:02 +0000 (13:52 -0700)]
assemble.c: remove stray debugging code
My bad for checking this in at all.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Cyrill Gorcunov [Mon, 22 Aug 2011 20:35:32 +0000 (00:35 +0400)]
insns, avx2: A couple of upper-case to lower-case conversion
Just to be solid in style
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Mon, 22 Aug 2011 20:30:28 +0000 (00:30 +0400)]
insns, avx2: A typo in VPERMPD
The second VPERMD should be VPERMPD actually.
Thanks to nasm64developer for gas test file provided
which allowed to reveal this issue.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Mon, 22 Aug 2011 20:12:50 +0000 (00:12 +0400)]
assemble.c: Comment out debug printing
Probably we need some kind of pr_debug or
something like that instead.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 21 Aug 2011 21:38:40 +0000 (01:38 +0400)]
BR3385573: Some AVX2 instructions fixups
A few instruction templates for AVX2 set were wrong.
Reported-by: Agner Fog
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Wed, 3 Aug 2011 18:16:29 +0000 (22:16 +0400)]
insns: Change VPERMPQ to VPERMQ
Was a typo
Reported-by: Agner Fog
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 31 Jul 2011 10:51:49 +0000 (14:51 +0400)]
preproc: Drop emitting() rudimanet
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Keith Kanios [Sat, 30 Jul 2011 18:14:18 +0000 (13:14 -0500)]
doc: update documentation for pending 2.10 release
H. Peter Anvin [Wed, 27 Jul 2011 21:32:08 +0000 (14:32 -0700)]
NASM 2.10rc8
Anonymous [Wed, 20 Jul 2011 17:41:49 +0000 (21:41 +0400)]
Implement insns.dat in human readable form
I converted almost all instructions in insns.dat (version
7a6f97869840fc0b1b8677bd77c74754c5f024aa) to the more
readable format that insns.pl has supported for years.
I also made some changes to insns.pl. You can verify that the
new insns.dat and insns.pl produce byte-identical output to
the old insns.dat and insns.pl, so I think that this change
is safe to check in, even though it is a large change to
insns.dat.
The changes to insns.pl are:
* fixed a bug: ib,u was not recognized
* added support for a second immediate argument called "j" for
instructions like ENTER imm,imm
* added a "+r" syntax for \10..\13
[gorcunov: insns files remains the same, great job anonymous!]
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Tue, 19 Jul 2011 21:30:31 +0000 (01:30 +0400)]
NASM 2.10.rc7
Intel's AVX2 instructions should be covered now.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Tue, 19 Jul 2011 21:16:11 +0000 (01:16 +0400)]
insns: A final pile of AVX2 instructions
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Tue, 19 Jul 2011 13:01:35 +0000 (17:01 +0400)]
insns: A few additional AVX2 templates
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 17 Jul 2011 21:15:25 +0000 (01:15 +0400)]
insns: One more small snippet of AVX2
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 17 Jul 2011 20:57:35 +0000 (00:57 +0400)]
insns: One more slab of AVX2 instructions
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 17 Jul 2011 19:20:00 +0000 (23:20 +0400)]
insns: Add a slab of AVX2 instructions
Not all are covered yet, but still a step
forward I think.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 17 Jul 2011 16:24:16 +0000 (20:24 +0400)]
insns.dat: Move exsiting AVX2 insns to a separate section
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 17 Jul 2011 16:20:14 +0000 (20:20 +0400)]
preproc: Align members in structures
For easier reading
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 17 Jul 2011 16:11:08 +0000 (20:11 +0400)]
preproc: Reorder ExpInv to drop padding
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 17 Jul 2011 16:06:20 +0000 (20:06 +0400)]
preproc: Reorder SMacro members to eliminate padding
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 17 Jul 2011 16:00:30 +0000 (20:00 +0400)]
nasm.h: Reorder tokenval members to drop padding
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 17 Jul 2011 13:52:03 +0000 (17:52 +0400)]
Some cleanup on insns.h
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 17 Jul 2011 10:06:54 +0000 (14:06 +0400)]
Drop unused 'opt' from nasm_opt_val
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 17 Jul 2011 10:04:44 +0000 (14:04 +0400)]
elf64: Drop unused 'zero' variable
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 17 Jul 2011 10:02:52 +0000 (14:02 +0400)]
Drop unused 'type' from gencode
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 17 Jul 2011 09:59:13 +0000 (13:59 +0400)]
Fix saa_writeaddr for big-endian case
saa_writeaddr on big-endian archs didn't write converted
argument, fix it.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 17 Jul 2011 09:55:25 +0000 (13:55 +0400)]
Drop unused 'arg' variable
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Fri, 15 Jul 2011 21:44:57 +0000 (01:44 +0400)]
Merge branch 'nasm-2.09.xx'
Conflicts:
version
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Fri, 15 Jul 2011 21:41:28 +0000 (01:41 +0400)]
NASM-2.09.10
- Fix nasty problem with uninstaller in case of registry
keys corruption, which might lead to arbitrary files
removal.
Just to be sure the proper files and directories are to
be removed a few additional questions are brought into
deinstallation procedure.
The former issue reported here
http://forum.nasm.us/index.php?topic=1013.0
Note: no functional changes are done inside nasm code,
critical fixes will be ported to 2.09.xx branch, but
mostly the (more or less) active development and various
bug fixes are concentrated around 2.10 series.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Fri, 15 Jul 2011 21:33:00 +0000 (01:33 +0400)]
doc: Describe changes for nasm-2.09.10
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Fri, 15 Jul 2011 19:10:46 +0000 (23:10 +0400)]
nsis: Remove desktop bat link as well
In case of installation procedure being used in
a per-user fasion the display link to a bat file
remain untouched at uninstallation time. Fix it.
I hope this time all things go smooth.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Fri, 15 Jul 2011 18:38:47 +0000 (22:38 +0400)]
nsis: Inform a user about files being deleted
Since a user might have some weird access rules on NTFS
such as allow to write files but not to delete them it
might happen that uninstallation procedure fails at
deleting files but deleting registry keys still success,
and in result a user might try to uninstall nasm for second
time with registry keys corrupted.
So prompt a user with files being deleted so he can double
check what is going on.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Wed, 6 Jul 2011 20:56:35 +0000 (00:56 +0400)]
nsis: Make sure the registry keys exist
It was reported on nasm forum (http://forum.nasm.us/index.php?topic=1013.0)
that if uninstallation procedure get stopped (for any reason) in a middle
leading to read empty registry values an attempt to remove arbitrary
files might happen. So make sure there are some sane values in registry.
N.B: People, if you find some bug in nasm, don't write to forum, file
bug directly in bugzilla, if it's not a bug we simply close it, otherwise
we might miss serious problems like this one!
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Fri, 15 Jul 2011 19:10:46 +0000 (23:10 +0400)]
nsis: Remove desktop bat link as well
In case of installation procedure being used in
a per-user fasion the display link to a bat file
remain untouched at uninstallation time. Fix it.
I hope this time all things go smooth.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Fri, 15 Jul 2011 18:38:47 +0000 (22:38 +0400)]
nsis: Inform a user about files being deleted
Since a user might have some weird access rules on NTFS
such as allow to write files but not to delete them it
might happen that uninstallation procedure fails at
deleting files but deleting registry keys still success,
and in result a user might try to uninstall nasm for second
time with registry keys corrupted.
So prompt a user with files being deleted so he can double
check what is going on.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
H. Peter Anvin [Fri, 8 Jul 2011 23:08:34 +0000 (16:08 -0700)]
A few more AVX2 spec instructions
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
H. Peter Anvin [Fri, 8 Jul 2011 00:21:24 +0000 (17:21 -0700)]
Use a normal quad-case for valueless /is4
When we don't have an immediate for the i-field in /is4, then use a
normal quad-bytecode encoding for it to save some small amount of
space and re-use existing machinery.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
H. Peter Anvin [Thu, 7 Jul 2011 23:58:22 +0000 (16:58 -0700)]
Remove support for DREX encoding
The DREX encoding never hit production silicon, and has been replaced
by VEX/XOP encoding, so remove support for it.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
H. Peter Anvin [Thu, 7 Jul 2011 22:29:14 +0000 (15:29 -0700)]
insns.dat: Clean up and fix the BMI instruction patterns
Clean up the formatting of the BMI instruction patterns, and fix:
a) X64,FUTURE is wrong - it needs to be LONG,FUTURE
b) Fix the BLSI, BLSMSK, BLSR instruction patterns
c) Use a bracket pattern for TZCNT
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Jasper Neuman [Thu, 7 Jul 2011 07:02:11 +0000 (11:02 +0400)]
insns: Fix up RORX template
Missed 64 bit case.
Signed-off-by: Jasper Neuman <jasper.neumann@web.de>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Jasper Neuman [Wed, 6 Jul 2011 21:08:51 +0000 (01:08 +0400)]
insns.dat: Add some BMI1 and BMI2 instructions
Signed-off-by: Jasper Neuman <jasper.neumann@web.de>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Wed, 6 Jul 2011 20:56:35 +0000 (00:56 +0400)]
nsis: Make sure the registry keys exist
It was reported on nasm forum (http://forum.nasm.us/index.php?topic=1013.0)
that if uninstallation procedure get stopped (for any reason) in a middle
leading to read empty registry values an attempt to remove arbitrary
files might happen. So make sure there are some sane values in registry.
N.B: People, if you find some bug in nasm, don't write to forum, file
bug directly in bugzilla, if it's not a bug we simply close it, otherwise
we might miss serious problems like this one!
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Jasper Neuman [Wed, 6 Jul 2011 20:03:49 +0000 (00:03 +0400)]
insns.h: Add BMI1 and BMI2 flags for further usage
Signed-off-by: Jasper Neuman <jasper.neumann@web.de>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Wed, 6 Jul 2011 19:12:55 +0000 (23:12 +0400)]
preproc: Drop useless assignments
new_ExpDef does zalloc'ate memory so no need
to assign zeros again.
Same time it should fix MSC complains on NULL assignment
on boolean variable.
Reported-by: Jasper Neuman <jasper.neumann@web.de>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 3 Jul 2011 20:51:53 +0000 (00:51 +0400)]
Merge branch 'nasm-2.09.xx'
Conflicts:
version
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 3 Jul 2011 20:49:03 +0000 (00:49 +0400)]
NASM 2.09.09
Just a few fixes only but serious enough to yield
new stable series
- Unitialized memory parsing in bin format section attibutes.
- MachO NULL dereference
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 3 Jul 2011 20:47:08 +0000 (00:47 +0400)]
doc: Describe changes for stable version
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Keith Kanios [Tue, 12 Apr 2011 02:38:50 +0000 (21:38 -0500)]
BR3282788: Fix 64-bit Mach-O bug that crashes NASM due to NULL symbols
Cyrill Gorcunov [Sun, 3 Jul 2011 20:33:24 +0000 (00:33 +0400)]
output/outbin.c: initialize section attribs upon creation
Basically it's backport of commits
11db774a151e9d895fa05f980563a5cafb0f306a
3bc3ff2fb685a645698f9db9cfc903df30e4e555
c13deef255b621ace2130adf55530f3364a40458
e3f47806658de042af0eaccb1cc7896be388b397
They were missed to back-merge in a first place.
Reported-by: Keith Kanios <keith@kanios.net>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Fri, 1 Jul 2011 06:38:25 +0000 (10:38 +0400)]
preproc: Move Preproc type to preproc_ops structure
There is no need to hide this structure into a type.
The former preproc_ops is a way more descriptive.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Wed, 29 Jun 2011 21:36:45 +0000 (01:36 +0400)]
preproc: Refactor smacro paramters expansion
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Wed, 29 Jun 2011 21:16:35 +0000 (01:16 +0400)]
preproc: Add smacro paramter helpers
I belive this should simply code a bit.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Wed, 29 Jun 2011 20:22:53 +0000 (00:22 +0400)]
preproc: Alignment in loop
Just for easier reading
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Wed, 29 Jun 2011 19:35:53 +0000 (23:35 +0400)]
insns: Mark AVX2 instructions as FUTURE
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Mon, 27 Jun 2011 21:59:05 +0000 (01:59 +0400)]
preproc: Finally drop context-through search
2.09 series was the last one we support context-thru search
(and we were issuing a warning about that) so drop all-context
from get_ctx() routine.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Mon, 27 Jun 2011 21:33:02 +0000 (01:33 +0400)]
preproc: nasm_free is safe against NULL argument
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cyrill Gorcunov [Sun, 26 Jun 2011 21:23:09 +0000 (01:23 +0400)]
Revert "BR3288901: Relax concat rules in preprocessor code"
This reverts commit
cb00cd1ba7f07f60f0a94c43cfc4fa7b01e2ff95.
As Victor pointed out some tests do not pass with this commit
so revert it until things get fixed.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>