]> granicus.if.org Git - yasm/log
yasm
11 years agoAdd support for x32
H.J. Lu [Tue, 26 Jun 2012 18:34:50 +0000 (11:34 -0700)]
Add support for x32

X32 is a 32-bit psABI for x86-64 with 32-bit pointer size.  More info
can be found at:

https://sites.google.com/site/x32abi/

11 years agoMerge pull request #64 from sgraham/fix-win32-warnings
Peter Johnson [Fri, 31 Aug 2012 06:40:42 +0000 (23:40 -0700)]
Merge pull request #64 from sgraham/fix-win32-warnings

Fix a couple warnings when building on win32

11 years agoImprove check for Cython version.
Peter Johnson [Fri, 31 Aug 2012 06:34:49 +0000 (23:34 -0700)]
Improve check for Cython version.

[#249 state:resolved]

11 years agoFix vphaddudq opcode; should be DB rather than D8.
Peter Johnson [Sat, 18 Aug 2012 20:55:10 +0000 (13:55 -0700)]
Fix vphaddudq opcode; should be DB rather than D8.

12 years agoMerge pull request #65 from vmt/master
Peter Johnson [Fri, 1 Jun 2012 04:43:51 +0000 (21:43 -0700)]
Merge pull request #65 from vmt/master

Fix definition of pmulhrw

12 years agoFix minor typo in the definition of pmulhrw 65/head
Vivek Thampi [Tue, 29 May 2012 06:59:55 +0000 (23:59 -0700)]
Fix minor typo in the definition of pmulhrw

This change fixes the definition of "pmulhrw" where it is defined
as having the mnemonic "pmulhrwa".

12 years agofix a couple warnings when building on win32 64/head
Scott Graham [Thu, 10 May 2012 03:48:16 +0000 (20:48 -0700)]
fix a couple warnings when building on win32

12 years agoMerge pull request #63 from nico/blah
Peter Johnson [Tue, 13 Mar 2012 06:58:35 +0000 (23:58 -0700)]
Merge pull request #63 from nico/blah

Don't use a C++ comment in a C source file.

12 years agoDon't use a C++ comment in a C source file. 63/head
Nico Weber [Sun, 11 Mar 2012 06:52:34 +0000 (22:52 -0800)]
Don't use a C++ comment in a C source file.

12 years agoMerge pull request #62 from nico/ticket246
Peter Johnson [Sat, 10 Mar 2012 05:41:18 +0000 (21:41 -0800)]
Merge pull request #62 from nico/ticket246

In the Mach-O writer, only warn on ignored flags if the new flags are different from the old flags.

[#246 state:resolved]

12 years agoIn the Mach-O writer, only warn on ignored flags if the new flags 62/head
Nico Weber [Wed, 7 Mar 2012 01:40:41 +0000 (17:40 -0800)]
In the Mach-O writer, only warn on ignored flags if the new flags
are different from the old flags.

Fixes http://tortall.lighthouseapp.com/projects/78676-yasm/tickets/246

12 years agoMerge pull request #61 from fischman/master
Peter Johnson [Fri, 2 Mar 2012 22:38:30 +0000 (14:38 -0800)]
Merge pull request #61 from fischman/master

Silence is golden: genperf emits too much stdout in success path

12 years agoAdded support for HSW TSX instructions:
sergey semenko [Mon, 27 Feb 2012 10:07:03 +0000 (12:07 +0200)]
Added support for HSW TSX instructions:

XAXQUIRE
XRELEASE
XABORT
XBEGIN
XEND
XTEST

Also fixed a bug for CALL instruction (opcode 0xE8) - it allowed 16 bit operand with 0x66 prefix in 64 bit mode,
while 16 bit operand is not allowed at all in 64 bit mode.

Added X86_ACQREL prefix group for XACQUIRE/XRELEASE prefixes, since they need to be orthogonal to LOCKREP
prefixes, because TSX prefixes must come together with F0 (LOCK) prefix.

However this commit does not enforce using TSX hints only with instructions they are allowed to be used.
The reason for this is that lock prefix F0 itself is not enforced to be used only with lockable instructions, this seems to be a decision made by
Yasm developers, that user himself must take care of these situations.

Right now TSX hints can come with F0 prefix, can come with REPNE/REPZE prefixes, but they are used together in assembly, only the leftmost would be
encoded to the binary and warning will be issued. This is the behavior of Yasm for duplicate LOCKREP prefixes.

12 years agoAdd AMD TBM instructions.
Jason Garrett-Glaser [Thu, 2 Feb 2012 22:32:06 +0000 (14:32 -0800)]
Add AMD TBM instructions.

Reference: http://support.amd.com/us/Processor_TechDocs/24594_APM_v3.pdf

Also add appropriate CPU bits and directive handling for these.

12 years agoDrop success-path chatter from genperf. 61/head
Ami Fischman [Fri, 2 Mar 2012 22:12:19 +0000 (14:12 -0800)]
Drop success-path chatter from genperf.

12 years agoAdd prebuild step for yasm-verssion.h
BrianGladman [Mon, 31 Oct 2011 18:38:16 +0000 (18:38 +0000)]
Add prebuild step for yasm-verssion.h

12 years agoadd path for YASM-VERSION.h
BrianGladman [Mon, 31 Oct 2011 17:27:56 +0000 (17:27 +0000)]
add path for YASM-VERSION.h

12 years agoBump DEF_VER to 1.2.0 for release. v1.2.0
Peter Johnson [Mon, 31 Oct 2011 05:39:50 +0000 (22:39 -0700)]
Bump DEF_VER to 1.2.0 for release.

12 years agoAdd Mkfiles/vc10/out_copy_rename.bat to distribution.
Peter Johnson [Mon, 31 Oct 2011 07:11:49 +0000 (00:11 -0700)]
Add Mkfiles/vc10/out_copy_rename.bat to distribution.

12 years agoCopy YASM-VERSION.h to Mkfiles for distribution.
Peter Johnson [Mon, 31 Oct 2011 07:10:39 +0000 (00:10 -0700)]
Copy YASM-VERSION.h to Mkfiles for distribution.

12 years agore2c: Work around tmpfile() issue on win32.
Peter Johnson [Mon, 31 Oct 2011 06:50:31 +0000 (23:50 -0700)]
re2c: Work around tmpfile() issue on win32.

tmpfile() defaults to C:\, and on Windows 7 can run into permissions issues.
Add workaround implementation from cairo
(http://cgit.freedesktop.org/cairo/commit/?id=4fa46e3caaffb54f4419887418d8d0ea39816092)

See also: http://msdn.microsoft.com/en-us/library/x8x7sakw(v=VS.80).aspx
(community content section)

12 years agowin64: Default to nobase for .xdata section.
Peter Johnson [Mon, 31 Oct 2011 05:21:57 +0000 (22:21 -0700)]
win64: Default to nobase for .xdata section.

Also add ..imagebase special symbol to force use of a nobase relocation.

[#135 state:resolved]

12 years agore2c: Use tmpfile instead of fixed temporary filename.
Peter Johnson [Mon, 3 Oct 2011 06:20:38 +0000 (23:20 -0700)]
re2c: Use tmpfile instead of fixed temporary filename.

This could cause a race condition when running parallel make.

Tracked down by Volker Braun.

[#238 state:resolved]
[#165 state:resolved]

12 years agoMerge pull request #60 from olsner/struc_base
Peter Johnson [Mon, 3 Oct 2011 05:11:01 +0000 (22:11 -0700)]
Merge pull request #60 from olsner/struc_base

Implement the base offset parameter for the struc macro

12 years agoAdd testcase for struc with base offset 60/head
Simon Brenner [Sun, 2 Oct 2011 03:57:35 +0000 (05:57 +0200)]
Add testcase for struc with base offset

12 years agoImplement the base offset parameter to 'struc'
Simon Brenner [Sun, 2 Oct 2011 03:39:11 +0000 (05:39 +0200)]
Implement the base offset parameter to 'struc'

12 years agonasm-pp.c: Plug a memory leak.
Peter Johnson [Fri, 30 Sep 2011 19:52:07 +0000 (12:52 -0700)]
nasm-pp.c: Plug a memory leak.

12 years agoMerge pull request #59 from pwo/patch-1
Peter Johnson [Wed, 28 Sep 2011 06:18:15 +0000 (23:18 -0700)]
Merge pull request #59 from pwo/patch-1

Fix clang warning.

12 years agoFix clang warning: 59/head
Pawel Worach [Sat, 24 Sep 2011 13:41:08 +0000 (16:41 +0300)]
Fix clang warning:
libyasm/md5.c:166:31: warning: argument to 'sizeof' in 'memset' call is the same expression as the destination; did you mean to dereference it? [-Wsizeof-pointer-memaccess]
        memset(ctx, 0, sizeof(ctx));    /* In case it's sensitive */
               ~~~            ^~~

12 years agoMakefile.am: Clean YASM-VERSION.h.
Peter Johnson [Sun, 4 Sep 2011 04:27:21 +0000 (21:27 -0700)]
Makefile.am: Clean YASM-VERSION.h.

12 years agoFix .gitignore for some wildcards.
Peter Johnson [Sun, 4 Sep 2011 04:18:34 +0000 (21:18 -0700)]
Fix .gitignore for some wildcards.

12 years agoAdd missing macho32-pext test case.
Peter Johnson [Sun, 4 Sep 2011 04:18:08 +0000 (21:18 -0700)]
Add missing macho32-pext test case.

12 years agoRegenerate man pages.
Peter Johnson [Sat, 27 Aug 2011 23:28:25 +0000 (16:28 -0700)]
Regenerate man pages.

12 years agomacho: Support N_PEXT bit.
Peter Johnson [Sat, 27 Aug 2011 17:01:26 +0000 (10:01 -0700)]
macho: Support N_PEXT bit.

Can be enabled via use of "private_extern" in NASM syntax.

Patch by: Hironori Bono

[#215 state:resolved]

12 years agoGenerate version number information from git history.
Peter Johnson [Sat, 27 Aug 2011 16:25:30 +0000 (09:25 -0700)]
Generate version number information from git history.

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.

12 years agoAdd .gitignore files.
Peter Johnson [Sun, 29 May 2011 23:54:34 +0000 (16:54 -0700)]
Add .gitignore files.

These are based on the old svn:ignore properties.

12 years agoRemove $Id$ and RCSID() usage.
Peter Johnson [Fri, 19 Aug 2011 17:43:16 +0000 (10:43 -0700)]
Remove $Id$ and RCSID() usage.

These are useless now that we're using git.

12 years agoFix const warning in elf_machine_ssym usage.
Peter Johnson [Fri, 19 Aug 2011 17:21:10 +0000 (10:21 -0700)]
Fix const warning in elf_machine_ssym usage.

Reported by: Pierre Muller

[#237 state:resolved]

12 years agowin64-except.c: Fix incorrect dereference.
Peter Johnson [Fri, 19 Aug 2011 17:12:15 +0000 (10:12 -0700)]
win64-except.c: Fix incorrect dereference.

Reported by: Pierre Muller

[#236 state:resolved]

12 years agofile.h: Separate conditional inclusion of direct.h.
Peter Johnson [Fri, 19 Aug 2011 17:07:34 +0000 (10:07 -0700)]
file.h: Separate conditional inclusion of direct.h.

This fixes builds on mingw64.

Reported by: Pierre Muller

[#235 state:resolved]

12 years agodwarf: Fix uninitialized structure member.
Peter Johnson [Mon, 11 Jul 2011 07:15:30 +0000 (00:15 -0700)]
dwarf: Fix uninitialized structure member.

dwarf2_loc.discriminator wasn't being initialized by
dwarf2_generate_line_section, leading to incorrect output, including
intermittent test failures in gen64/dwarf64_pathname.

12 years agoexpr_simplify_identity: Pass int_term via pointer.
Peter Johnson [Mon, 11 Jul 2011 06:44:18 +0000 (23:44 -0700)]
expr_simplify_identity: Pass int_term via pointer.

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]

12 years agoFix VGATHER/VPGATHER memory sizes.
Peter Johnson [Mon, 4 Jul 2011 18:35:19 +0000 (11:35 -0700)]
Fix VGATHER/VPGATHER memory sizes.

These now match the memory fetch sizes in the AVX reference.

Reported by: nasm64developer

12 years agoAdd AVX2 VGATHER* and VPGATHER* instructions.
Peter Johnson [Mon, 4 Jul 2011 02:44:42 +0000 (19:44 -0700)]
Add AVX2 VGATHER* and VPGATHER* instructions.

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].

12 years agoAdd most Intel AVX2 instructions.
Peter Johnson [Sun, 3 Jul 2011 21:36:37 +0000 (14:36 -0700)]
Add most Intel AVX2 instructions.

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].

12 years agopmovmskb/vpmovmskb: default operand size is 64 bits.
Peter Johnson [Sun, 3 Jul 2011 19:48:46 +0000 (12:48 -0700)]
pmovmskb/vpmovmskb: default operand size is 64 bits.

12 years agoAdd Intel BMI1, BMI2, INVPCID, LZCNT instructions.
Peter Johnson [Sun, 3 Jul 2011 08:48:44 +0000 (01:48 -0700)]
Add Intel BMI1, BMI2, INVPCID, LZCNT instructions.

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].

12 years agox86/gas: Fix no-suffix push and pop.
Peter Johnson [Sun, 3 Jul 2011 00:11:10 +0000 (17:11 -0700)]
x86/gas: Fix no-suffix push and pop.

Previously plain "push" and "pop" would always generate a 16-bit pop
(for effective address versions).

Reported by: Alexei Svitkine

[#212 state:resolved]

12 years agoAdd test for 64-bit shr/shl.
Peter Johnson [Sat, 2 Jul 2011 23:28:29 +0000 (16:28 -0700)]
Add test for 64-bit shr/shl.

12 years agoAllow 64-bit LFS/LGS/LSS.
Peter Johnson [Tue, 28 Jun 2011 06:48:28 +0000 (23:48 -0700)]
Allow 64-bit LFS/LGS/LSS.

[#229 state:resolved]

12 years agoFix "times" relocation handling.
Peter Johnson [Sun, 26 Jun 2011 06:32:22 +0000 (23:32 -0700)]
Fix "times" relocation handling.

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]

12 years agoFix cython.m4 for beta versions of Cython.
Peter Johnson [Sat, 25 Jun 2011 22:09:03 +0000 (15:09 -0700)]
Fix cython.m4 for beta versions of Cython.

[#204 state:resolved]

12 years agoFix build with recent Cython.
Peter Johnson [Sat, 25 Jun 2011 21:58:27 +0000 (14:58 -0700)]
Fix build with recent Cython.

[#216 state:resolved]

12 years agoFix #263: Add quotes to yasm.rules switches.
Peter Johnson [Tue, 21 Jun 2011 06:30:44 +0000 (23:30 -0700)]
Fix #263: Add quotes to yasm.rules switches.

13 years agoFix escaping at end of gas string constant.
Peter Johnson [Sun, 29 May 2011 22:29:15 +0000 (15:29 -0700)]
Fix escaping at end of gas string constant.

Patch by: Daniel Diaz <Daniel.Diaz@univ-paris1.fr>

13 years agoFix lar and lsl second operand size.
Peter Johnson [Sun, 29 May 2011 20:14:22 +0000 (13:14 -0700)]
Fix lar and lsl second operand size.

Also support 32-bit second operand for extra compatibility against ISA
documentation, although only the low 16 bits are used.

Fixes #261.

13 years agofrontends/yasm/yasm.xml: Use GNU layout and put --help option to the end
Jari Aalto [Sun, 1 May 2011 11:46:36 +0000 (14:46 +0300)]
frontends/yasm/yasm.xml: Use GNU layout and put --help option to the end

Signed-off-by: Jari Aalto <jari.aalto@cante.net>
Signed-off-by: Peter Johnson <peter@tortall.net>
13 years agoFix test failure due to build environment. 1/head
Peter Johnson [Mon, 21 Mar 2011 04:18:01 +0000 (21:18 -0700)]
Fix test failure due to build environment.

When YASM_TEST_SUITE environment is defined, force version to "yasm
HEAD" and all yasm__getcwd() calls to return "./".

13 years ago1. Tidy up VS 2010 build
Brian Gladman [Sat, 29 Jan 2011 10:50:25 +0000 (10:50 -0000)]
1. Tidy up VS 2010 build
2. Set correct VS tool path on win32 systems

svn path=/trunk/yasm/; revision=2368

13 years agoFix #223: Correctly handle "./" paths in dwarf2.
Peter Johnson [Mon, 6 Sep 2010 19:33:25 +0000 (19:33 -0000)]
Fix #223: Correctly handle "./" paths in dwarf2.

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

13 years agoImprove gas syntax .set directive to better match GNU as behavior.
Peter Johnson [Sat, 21 Aug 2010 07:32:54 +0000 (07:32 -0000)]
Improve gas syntax .set directive to better match GNU as behavior.

- 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

13 years agocoff: Add support for gas .secrel32 directive.
Peter Johnson [Wed, 18 Aug 2010 06:23:30 +0000 (06:23 -0000)]
coff: Add support for gas .secrel32 directive.

svn path=/trunk/yasm/; revision=2365

13 years agoImplement yasm_value_finalize_expr() using yasm_value_finalize().
Peter Johnson [Wed, 18 Aug 2010 06:23:06 +0000 (06:23 -0000)]
Implement yasm_value_finalize_expr() using yasm_value_finalize().

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

13 years agoAdd prototype for yasm_dv_get_value().
Peter Johnson [Wed, 18 Aug 2010 06:21:34 +0000 (06:21 -0000)]
Add prototype for yasm_dv_get_value().

svn path=/trunk/yasm/; revision=2363

13 years agoAdd yasm_dv_get_value() to get yasm_value from yasm_dataval.
Peter Johnson [Wed, 18 Aug 2010 06:21:08 +0000 (06:21 -0000)]
Add yasm_dv_get_value() to get yasm_value from yasm_dataval.

svn path=/trunk/yasm/; revision=2362

13 years agocoff dir_def(): Use symtab_use() instead of symtab_get().
Peter Johnson [Tue, 17 Aug 2010 05:36:18 +0000 (05:36 -0000)]
coff dir_def(): Use symtab_use() instead of symtab_get().

svn path=/trunk/yasm/; revision=2361

13 years agocoff/win32/win64: Add support for .def, .scl, .type, and .endef directives.
Peter Johnson [Tue, 17 Aug 2010 05:32:46 +0000 (05:32 -0000)]
coff/win32/win64: Add support for .def, .scl, .type, and .endef directives.

These can be used to set a specific value for the coff sclass and type
symbol fields.

svn path=/trunk/yasm/; revision=2360

13 years agodwarf2: Add support for .loc "discriminator" option.
Peter Johnson [Mon, 16 Aug 2010 02:28:36 +0000 (02:28 -0000)]
dwarf2: Add support for .loc "discriminator" option.

svn path=/trunk/yasm/; revision=2359

13 years agogas: Fix movsw/movzw memory operand encodings.
Peter Johnson [Sat, 14 Aug 2010 02:26:41 +0000 (02:26 -0000)]
gas: Fix movsw/movzw memory operand encodings.

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

13 years agoBump trunk internal version to 1.1.99.
Peter Johnson [Fri, 6 Aug 2010 08:14:51 +0000 (08:14 -0000)]
Bump trunk internal version to 1.1.99.

svn path=/trunk/yasm/; revision=2351

13 years agoFix #213: Fix gas-preproc misuse of strcpy() and uninitialized variables.
Peter Johnson [Sun, 1 Aug 2010 17:44:56 +0000 (17:44 -0000)]
Fix #213: Fix gas-preproc misuse of strcpy() and uninitialized variables.

- 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

13 years agowin32: Make external safeseh work again (broken in [2343]).
Peter Johnson [Sun, 1 Aug 2010 17:31:12 +0000 (17:31 -0000)]
win32: Make external safeseh work again (broken in [2343]).

svn path=/trunk/yasm/; revision=2347

13 years agoRename RDRND feature bit to RDRAND.
Peter Johnson [Sun, 1 Aug 2010 01:37:37 +0000 (01:37 -0000)]
Rename RDRND feature bit to RDRAND.

svn path=/trunk/yasm/; revision=2346

13 years agomacho32: Correctly output pc-relative non-external intersegment.
Peter Johnson [Sun, 1 Aug 2010 01:27:40 +0000 (01:27 -0000)]
macho32: Correctly output pc-relative non-external intersegment.

Reported by: Justin Lebar <justin.lebar@gmail.com>

svn path=/trunk/yasm/; revision=2345

13 years agomacho: Fix relocation table file location.
Peter Johnson [Sun, 1 Aug 2010 01:05:04 +0000 (01:05 -0000)]
macho: Fix relocation table file location.

svn path=/trunk/yasm/; revision=2344

13 years agoFix #139: Fix a number of issues with win32 safeseh support.
Peter Johnson [Sat, 31 Jul 2010 10:17:05 +0000 (10:17 -0000)]
Fix #139: Fix a number of issues with win32 safeseh support.

- 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

13 years agoRemove some causes of unnecessary rebuilds on Windows (VC10 only)
Brian Gladman [Tue, 27 Jul 2010 18:20:22 +0000 (18:20 -0000)]
Remove some causes of unnecessary rebuilds on Windows (VC10 only)

svn path=/trunk/yasm/; revision=2342

13 years agogen_x86_insn.py: Add SMX to list of ordered_cpu_features.
Peter Johnson [Fri, 23 Jul 2010 03:36:01 +0000 (03:36 -0000)]
gen_x86_insn.py: Add SMX to list of ordered_cpu_features.

svn path=/trunk/yasm/; revision=2340

13 years agoFix #211: Add INVEPT, INVVPID, and GETSEC instructions.
Peter Johnson [Fri, 23 Jul 2010 03:35:21 +0000 (03:35 -0000)]
Fix #211: Add INVEPT, INVVPID, and GETSEC instructions.

INVEPT and INVVPID is enabled via the "eptvpid" cpu feature.
GETSEC is enabled via the "smx" cpu feature.

svn path=/trunk/yasm/; revision=2339

13 years agoFix #212: Set LC_SEGMENT vmsize correctly.
Peter Johnson [Fri, 23 Jul 2010 03:08:24 +0000 (03:08 -0000)]
Fix #212: Set LC_SEGMENT vmsize correctly.

svn path=/trunk/yasm/; revision=2338

13 years agoAdd support for XSAVEOPT instruction.
Peter Johnson [Sat, 3 Jul 2010 19:48:00 +0000 (19:48 -0000)]
Add support for XSAVEOPT instruction.

Reported by: Mark Charney <mark.charney@intel.com>

svn path=/trunk/yasm/; revision=2337

13 years agoAdd Intel post-32nm processor instructions (section 7 of AVX spec).
Peter Johnson [Sat, 3 Jul 2010 02:29:22 +0000 (02:29 -0000)]
Add Intel post-32nm processor instructions (section 7 of AVX spec).

Contributed by: Mark Charney <mark.charney@intel.com>

svn path=/trunk/yasm/; revision=2336

13 years agoRemove AMD CVT16 instructions.
Peter Johnson [Fri, 2 Jul 2010 21:27:43 +0000 (21:27 -0000)]
Remove AMD CVT16 instructions.

Per http://sourceware.org/ml/binutils/2009-11/msg00372.html, this has been
removed from GNU as.

Several instructions also conflict with the latest Intel AVX instructions.

svn path=/trunk/yasm/; revision=2335

13 years agoFix #207: Don't emit unnecessary REX.W for pinsrw.
Peter Johnson [Wed, 16 Jun 2010 05:22:17 +0000 (05:22 -0000)]
Fix #207: Don't emit unnecessary REX.W for pinsrw.

svn path=/trunk/yasm/; revision=2334

13 years agoFix #206: Update gettext bits to gettext 0.17.
Peter Johnson [Wed, 16 Jun 2010 05:13:23 +0000 (05:13 -0000)]
Fix #206: Update gettext bits to gettext 0.17.

svn path=/trunk/yasm/; revision=2333

13 years agoMinor update to the Visual Studio 2010 build files
Brian Gladman [Tue, 8 Jun 2010 17:12:48 +0000 (17:12 -0000)]
Minor update to the Visual Studio 2010 build files

svn path=/trunk/yasm/; revision=2332

13 years agosvn path=/trunk/yasm/; revision=2331
Brian Gladman [Tue, 8 Jun 2010 16:30:52 +0000 (16:30 -0000)]
svn path=/trunk/yasm/; revision=2331

14 years agoAdd an environment variable YASMPATH to override the default vsyasm directory
Brian Gladman [Thu, 27 May 2010 13:26:23 +0000 (13:26 -0000)]
Add an environment variable YASMPATH to override the default vsyasm directory

svn path=/trunk/yasm/; revision=2330

14 years agocorrect reported error in vsyasm.xml
Brian Gladman [Thu, 27 May 2010 08:46:46 +0000 (08:46 -0000)]
correct reported error in vsyasm.xml

svn path=/trunk/yasm/; revision=2329

14 years agochange vsyasm property sheet to use an absolute path to vsyasm (as msbuild requires)
Brian Gladman [Mon, 24 May 2010 08:37:45 +0000 (08:37 -0000)]
change vsyasm property sheet to use an absolute path to vsyasm (as msbuild requires)

svn path=/trunk/yasm/; revision=2328

14 years agoFix #201: explicitly ignore [warning] directive and treat as warning.
Peter Johnson [Sun, 16 May 2010 03:37:00 +0000 (03:37 -0000)]
Fix #201: explicitly ignore [warning] directive and treat as warning.

svn path=/trunk/yasm/; revision=2323

14 years agoSupport all unary operators in directive expressions.
Peter Johnson [Sun, 16 May 2010 03:14:09 +0000 (03:14 -0000)]
Support all unary operators in directive expressions.

svn path=/trunk/yasm/; revision=2322

14 years agoFix #202 (incorrect GOT offset generated in NASM mode).
Peter Johnson [Sat, 15 May 2010 07:45:48 +0000 (07:45 -0000)]
Fix #202 (incorrect GOT offset generated in NASM mode).

Don't generate an additional offset for _GLOBAL_OFFSET_TABLE_ if a WRT was
specified (the NASM usage).  In GAS, _GLOBAL_OFFSET_TABLE_ doesn't have a WRT
but instead has special handling.

This isn't quite *exactly* the right fix; a better fix would be to recognize
the _GLOBAL_OFFSET_TABLE_ case in the GAS parser and adjust the value
appropriately there.  However, this fix seems to do the right thing in the
meantime for both GAS and NASM cases.

svn path=/trunk/yasm/; revision=2321

14 years agoUpdate frontend --version copyright dates.
Peter Johnson [Thu, 8 Apr 2010 06:10:16 +0000 (06:10 -0000)]
Update frontend --version copyright dates.

svn path=/trunk/yasm/; revision=2317

14 years agoCOPYING: Update credits a bit.
Peter Johnson [Thu, 8 Apr 2010 05:57:28 +0000 (05:57 -0000)]
COPYING: Update credits a bit.

svn path=/trunk/yasm/; revision=2314

14 years agoUpdate copyright dates.
Peter Johnson [Thu, 8 Apr 2010 05:56:33 +0000 (05:56 -0000)]
Update copyright dates.

svn path=/trunk/yasm/; revision=2313

14 years agoNASM preproc: Add basic support for %{x:y} parameter list expansion.
Peter Johnson [Thu, 8 Apr 2010 03:46:43 +0000 (03:46 -0000)]
NASM preproc: Add basic support for %{x:y} parameter list expansion.

Contributed by: Mathieu Monnier

nasm64developer has a more advanced 3-parameter version that will take
some time to integrate, so for now just provide the simpler version.

svn path=/trunk/yasm/; revision=2312

14 years agoNASM preprocessor: Add %scope and %endscope.
Peter Johnson [Thu, 8 Apr 2010 03:32:04 +0000 (03:32 -0000)]
NASM preprocessor: Add %scope and %endscope.

Contributed by: Mathieu Monnier

svn path=/trunk/yasm/; revision=2311

14 years agoInstead of initializing unknown sections en-masse during objfmt_output(),
Peter Johnson [Sun, 28 Mar 2010 19:28:54 +0000 (19:28 -0000)]
Instead of initializing unknown sections en-masse during objfmt_output(),
add new objfmt interface function init_new_section() to initialize as we
go.

This fixes several issues, primarily with debug formats that create sections.

Reported by: Brian Gladman

svn path=/trunk/yasm/; revision=2310

14 years agovsyasm: Allow override of object, list, and map file extensions.
Peter Johnson [Fri, 19 Mar 2010 23:00:36 +0000 (23:00 -0000)]
vsyasm: Allow override of object, list, and map file extensions.

svn path=/trunk/yasm/; revision=2309