[2121]: Mark gen_x86_insn.py outputs as generated.
[2122]: Don't read past end of string in parsers (not bug).
[2123]: Fix expression simplification bug.
[2124]: Warn if unused groups are detected in gen_x86_insn.py.
[2125]: VPBLENDVB doesn't have a 256-bit form; remove it.
[2126]: Generate GOTPCREL relocation for [rel foo wrt ..gotpc].
[2127]: Optimize non-strict push with 66 override to byte size if possible.
svn path=/branches/yasm-0.7.x/; revision=2148
syntax.
Previously, the forms of push that did this optimization were disabled in
NASM syntax due to conflicting with the size=BITS case. Fix this via
reordering to allow these forms to be active in NASM syntax.
svn path=/trunk/yasm/; revision=2127
If an expression of the form INT+(a+b)+INT was simplified, constant folding
would combine the ints, but then the level stage (to make INT+a+b) would
start reading from the second (deleted due to folding) INT rather than the
new end of the expression.
Reported by: Samuel Thibault (on yasm-devel@)
svn path=/trunk/yasm/; revision=2123
This was because the re2c-generated code always reads the next character
prior to user code being executed. Instead, check for the \0 marker prior
to entering the re2c code. Retain the re2c check just for sanity.
Reported by: Samuel Thibault (on yasm-devel@)
svn path=/trunk/yasm/; revision=2122
Formerly, it would not correctly handle absolute paths. Now it uses
yasm__combpath() to do absolute-path aware path combination.
As a benefit, it no longer needs to be OS-specific.
Reported by: Shmuel Baron <shmulik@gmail.com>
svn path=/trunk/yasm/; revision=2116
should not be listed in BUILT_SOURCES but rather have nodist_ prepended.
They still need to be separately listed as CLEANFILES as they're built
at make time.
Reported by: David Harvey <dmharvey@math.harvard.edu>
svn path=/trunk/yasm/; revision=2111
We were printing the previous bytecode's start rather than the label's
bytecode. Use yasm_bc_next_offset() to get the correct offset.
svn path=/trunk/yasm/; revision=2110
These allow arbitrary prefixes and/or suffixes to be added to
externally-visible (GLOBAL, EXTERN, or COMMON) symbol names.
svn path=/trunk/yasm/; revision=2109
The way PIC relocations are generated for macho64 requires a bit of a hack
to detect MOV opcodes and generate GOT_LOAD relocs.
GAS contains a similar hack.
svn path=/trunk/yasm/; revision=2108
Add proper declspec dllimport/dllexport to all libyasm functions.
Use macros to make these do nothing on non-cmake and Unix builds.
svn path=/trunk/yasm/; revision=2101
Not default nor even distributed in the .tar.gz, the cmake build allows for
loadable yasm plugins by building libyasm as a shared library.
Example plugins are in the plugins/ directory, and may be loaded into a
cmake-built yasm using the -N command line option (non-cmake builds will
not have this option).
Tested only on Linux so far, but should be relatively painless to port to
Windows thanks to the use of cmake rather than libtool to create shared
libraries.
The only modification to the main source tree is some conditional-compiled
additions to yasm.c.
svn path=/trunk/yasm/; revision=2098