Age | Commit message (Collapse) | Author |
|
|
|
Can be enabled via use of "private_extern" in NASM syntax.
Patch by: Hironori Bono
[#215 state:resolved]
|
|
Due to the svn import structure, a special case is currently implemented
to look for the 1.1.0 branchpoint instead of the most recent tag on the
master branch. This will be removed after the first release is tagged
on the master branch in git.
Specific details:
autogen.sh: More aggressively clean autoconf cache.
This is needed to ensure the version number is actually regenerated.
Don't generate PACKAGE_PATCHLEVEL or PACKAGE_BUILD variables. The
genversion program now parses PACKAGE_VERSION directly.
For Mkfiles builds, YASM-VERSION.h is generated and included by the custom
config.h. This avoids the need to edit config.h for versioning.
|
|
These are based on the old svn:ignore properties.
|
|
These are useless now that we're using git.
|
|
Reported by: Pierre Muller
[#237 state:resolved]
|
|
Reported by: Pierre Muller
[#236 state:resolved]
|
|
This fixes builds on mingw64.
Reported by: Pierre Muller
[#235 state:resolved]
|
|
dwarf2_loc.discriminator wasn't being initialized by
dwarf2_generate_line_section, leading to incorrect output, including
intermittent test failures in gen64/dwarf64_pathname.
|
|
This allows signaling to the caller (expr_level_op) that the int_term
was destroyed. Without this, the new expr-simplify-identity testcase
has a use-after-free.
[#232 state:resolved]
|
|
These now match the memory fetch sizes in the AVX reference.
Reported by: nasm64developer
|
|
These instructions use "VSIB" encoding, which takes the place of the
usual SIB encoding. Several tests cover various legal and illegal
modes.
Last part of [#227 state:resolved].
|
|
Reference: http://www.intel.com/software/avx rev11 spec
This is all AVX2 instructions except for VGATHER*/VPGATHER*, which
require additional ModRM handling.
Portions contributed by: Mark Charney <mark.charney@intel.com>
Part of [#227].
|
|
|
|
Reference: http://www.intel.com/software/avx rev11 spec
Also add appropriate CPU bits and directive handling for these.
Currently we have no good way of handling an "or" of instruction bits
(in this case needed for LZCNT, where it's either AMD or LZCNT). For
now, make it LZCNT only.
Contributed by: Mark Charney <mark.charney@intel.com>
Part of [#227].
|
|
Previously plain "push" and "pop" would always generate a 16-bit pop
(for effective address versions).
Reported by: Alexei Svitkine
[#212 state:resolved]
|
|
|
|
[#229 state:resolved]
|
|
Previously a line such as "times 4 mov rax, [rel foobar]" would result
in incorrect relocations being generated.
Patch by: bird-yasm@anduin.net
[#211 state:resolved]
|
|
[#204 state:resolved]
|
|
[#216 state:resolved]
|
|
|
|
Patch by: Daniel Diaz <Daniel.Diaz@univ-paris1.fr>
|
|
Also support 32-bit second operand for extra compatibility against ISA
documentation, although only the low 16 bits are used.
Fixes #261.
|
|
Signed-off-by: Jari Aalto <jari.aalto@cante.net>
Signed-off-by: Peter Johnson <peter@tortall.net>
|
|
When YASM_TEST_SUITE environment is defined, force version to "yasm
HEAD" and all yasm__getcwd() calls to return "./".
|
|
2. Set correct VS tool path on win32 systems
svn path=/trunk/yasm/; revision=2368
|
|
As dwarf2 has a directory table in addition to a filename table, we split
the provided pathname when generating the filename table. This correctly
combined both "./foo" and "foo" into a single filename table entry.
However, we were only matching on pathname instead of dir+filename when
actually generating the dwarf opcodes, resulting in not finding the "./foo"
version. Fix to check both dir and filename separately, splitting the same
way we do when generating the filename table.
svn path=/trunk/yasm/; revision=2367
|
|
- Add support for deferred symbols (those which depend on other symbols
that have not yet been .set)
- Add support for re-defining symbols
- Add support for 0x hex notation in literals
Contributed by: Alexei Svitkine <alexei.svitkine@gmail.com>
svn path=/trunk/yasm/; revision=2366
|
|
svn path=/trunk/yasm/; revision=2365
|
|
Previously this was implemented the opposite way, contrary to its
documentation. This resulted in clearing any already set yasm_value
relative fields.
svn path=/trunk/yasm/; revision=2364
|
|
svn path=/trunk/yasm/; revision=2363
|
|
svn path=/trunk/yasm/; revision=2362
|
|
svn path=/trunk/yasm/; revision=2361
|
|
These can be used to set a specific value for the coff sclass and type
symbol fields.
svn path=/trunk/yasm/; revision=2360
|
|
svn path=/trunk/yasm/; revision=2359
|
|
The register versions worked okay due to size matching, but the memory
versions relied on suffix matching, which wasn't being generated correctly.
Reported by: Tony Goelz <cag@absoft.com>
svn path=/trunk/yasm/; revision=2358
|
|
svn path=/trunk/yasm/; revision=2351
|
|
- strcpy() was being used with overlapping memory ranges; switched to memmove().
- bline->line_number was not set in one location.
Exact causes identified using valgrind.
svn path=/trunk/yasm/; revision=2348
|
|
svn path=/trunk/yasm/; revision=2347
|
|
svn path=/trunk/yasm/; revision=2346
|
|
Reported by: Justin Lebar <justin.lebar@gmail.com>
svn path=/trunk/yasm/; revision=2345
|
|
svn path=/trunk/yasm/; revision=2344
|
|
- Always create a non-global absolute symbol @feat.00 with value of 1.
- Set type field to 0x20 (function) for safeseh-declared symbols.
- Force safeseh-declared symbols into the symbol table, but don't force
them to be global.
svn path=/trunk/yasm/; revision=2343
|
|
svn path=/trunk/yasm/; revision=2342
|
|
svn path=/trunk/yasm/; revision=2340
|
|
INVEPT and INVVPID is enabled via the "eptvpid" cpu feature.
GETSEC is enabled via the "smx" cpu feature.
svn path=/trunk/yasm/; revision=2339
|
|
svn path=/trunk/yasm/; revision=2338
|
|
Reported by: Mark Charney <mark.charney@intel.com>
svn path=/trunk/yasm/; revision=2337
|
|
Contributed by: Mark Charney <mark.charney@intel.com>
svn path=/trunk/yasm/; revision=2336
|