Subject: CVS commit: pkgsrc/devel/nasm
From: Wen Heping
Date: 2013-08-13 02:17:36
Message id: 20130813001736.3C29896@cvs.netbsd.org

Log Message:
Update to 2.10.09

Upstream changes:
C.1.1 Version 2.10.09

Pregenerate man pages.
C.1.2 Version 2.10.08

Fix VMOVNTDQA, MOVNTDQA and MOVLPD instructions.
Fix collision for VGATHERQPS, VPGATHERQD instructions.
Fix VPMOVSXBQ, VGATHERQPD, VSPLLW instructions.
Add a bunch of AMD TBM instructions.
Fix potential stack overwrite in numbers conversion.
Allow byte size in PREFETCHTx instructions.
Make manual pages up to date.
Make F3 and F2 SSE prefixes to override 66.
Support of AMD SVM instructions in 32 bit mode.
Fix near offsets code generation for JMP, CALL instrictions in long mode.
Fix preprocessor parse regression when id is expanding to a whitespace.
C.1.3 Version 2.10.07

Fix line continuation parsing being broken in previous version.
C.1.4 Version 2.10.06

Always quote the dependency source names when using the automatic dependency \ 
generation options.
If no dependency target name is specified via the -MT or -MQ options, quote the \ 
default output name.
Fix assembly of shift operations in CPU 8086 mode.
Fix incorrect generation of explicit immediate byte for shift by 1 under certain \ 
circumstances.
Fix assembly of the VPCMPGTQ instruction.
Fix RIP-relative relocations in the macho64 backend.
C.1.5 Version 2.10.05

Add the CLAC and STAC instructions.
C.1.6 Version 2.10.04

Add back the inadvertently deleted 256-bit version of the VORPD instruction.
Correct disassembly of instructions starting with byte 82 hex.
Fix corner cases in token pasting, for example:
   %define N 1e%++%+ 5
           dd N, 1e+5
C.1.7 Version 2.10.03

Correct the assembly of the instruction:
XRELEASE MOV [absolute],AL
Previous versions would incorrectly generate F3 A2 for this instruction and \ 
issue a warning; correct behavior is to emit F3 88 05.

C.1.8 Version 2.10.02

Add the ifunc macro package with integer functions, currently only integer \ 
logarithms. See section 5.4.
Add the RDSEED, ADCX and ADOX instructions.
C.1.9 Version 2.10.01

Add missing VPMOVMSKB instruction with reg32, ymmreg operands.
C.1.10 Version 2.10

When optimization is enabled, mov r64,imm now optimizes to the shortest form \ 
possible between:
     mov r32,imm32                   ;  5 bytes
     mov r64,imm32                   ;  7 bytes
     mov r64,imm64                   ; 10 bytes
To force a specific form, use the STRICT keyword, see section 3.7.

Add support for the Intel AVX2 instruction set.
Add support for Bit Manipulation Instructions 1 and 2.
Add support for Intel Transactional Synchronization Extensions (TSX).
Add support for x32 ELF (32-bit ELF with the CPU in 64-bit mode.) See section 7.9.
Add support for bigendian UTF-16 and UTF-32. See section 3.4.5.
C.1.11 Version 2.09.10

Fix up NSIS script to protect uninstaller against registry keys absence or \ 
corruption. It brings in a few additional questions to a user during \ 
deinstallation procedure but still it is better than unpredictable file removal.
C.1.12 Version 2.09.09

Fix initialization of section attributes of bin output format.
Fix mach64 output format bug that crashes NASM due to NULL symbols.
C.1.13 Version 2.09.08

Fix __OUTPUT_FORMAT__ assignment when output driver alias is used. For example \ 
when -f elf is used __OUTPUT_FORMAT__ must be set to elf, if -f elf32 is used \ 
__OUTPUT_FORMAT__ must be assigned accordingly, i.e. to elf32. The rule applies \ 
to all output driver aliases. See section 4.12.6.
C.1.14 Version 2.09.07

Fix attempts to close same file several times when -a option is used.
Fixes for VEXTRACTF128, VMASKMOVPS encoding.
C.1.15 Version 2.09.06

Fix missed section attribute initialization in bin output target.
C.1.16 Version 2.09.05

Fix arguments encoding for VPEXTRW instruction.
Remove invalid form of VPEXTRW instruction.
Add VLDDQU as alias for VLDQQU to match specification.
C.1.17 Version 2.09.04

Fix incorrect labels offset for VEX intructions.
Eliminate bogus warning on implicit operand size override.
%if term could not handle 64 bit numbers.
The COFF backend was limiting relocations number to 16 bits even if in real \ 
there were a way more relocations.
C.1.18 Version 2.09.03

Print %macro name inside %rep blocks on error.
Fix preprocessor expansion behaviour. It happened sometime too early and \ 
sometime simply wrong. Move behaviour back to the origins (down to NASM \ 
2.05.01).
Fix unitialized data dereference on OMF output format.
Issue warning on unterminated %{ construct.
Fix for documentation typo.
C.1.19 Version 2.09.02

Fix reversed tokens when %deftok produces more than one output token.
Fix segmentation fault on disassembling some VEX instructions.
Missing %endif did not always cause error.
Fix typo in documentation.
Compound context local preprocessor single line macro identifiers were not \ 
expanded early enough and as result lead to unresolved symbols.
C.1.20 Version 2.09.01

Fix NULL dereference on missed %deftok second parameter.
Fix NULL dereference on invalid %substr parameters.
C.1.21 Version 2.09

Fixed assignment the magnitude of %rep counter. It is limited to 62 bits now.
Fixed NULL dereference if argument of %strlen resolves to whitespace. For \ 
example if nonexistent macro parameter is used.
%ifenv, %elifenv, %ifnenv, and %elifnenv directives introduced. See section 4.4.9.
Fixed NULL dereference if environment variable is missed.
Updates of new AVX v7 Intel instructions.
PUSH imm32 is now officially documented.
Fix for encoding the LFS, LGS and LSS in 64-bit mode.
Fixes for compatibility with OpenWatcom compiler and DOS 8.3 file format limitation.
Macros parameters range expansion introduced. See section 4.3.4.
Backward compatibility on expanging of local sigle macros restored.
8 bit relocations for elf and bin output formats are introduced.
Short intersegment jumps are permitted now.
An alignment more than 64 bytes are allowed for win32, win64 output formats.
SECTALIGN directive introduced. See section 4.12.13.
nojmp option introduced in smartalign package. See section 5.2.
Short aliases win, elf and macho for output formats are introduced. Each stands \ 
for win32, elf32 and macho32 accordingly.
Faster handling of missing directives implemented.
Various small improvements in documentation.
No hang anymore if unable to open malloc.log file.
The environments without vsnprintf function are able to build nasm again.
AMD LWP instructions updated.
Tighten EA checks. We warn a user if there overflow in EA addressing.
Make -Ox the default optimization level. For the legacy behavior, specify -O0 \ 
explicitly. See section 2.1.22.
Environment variables read with %! or tested with %ifenv can now contain \ 
non-identifier characters if surrounded by quotes. See section 4.10.2.
Add a new standard macro package %use fp for floating-point convenience macros. \ 
See section 5.3.
C.1.22 Version 2.08.02

Fix crash under certain circumstances when using the %+ operator.
C.1.23 Version 2.08.01

Fix the %use statement, which was broken in 2.08.
C.1.24 Version 2.08

A number of enhancements/fixes in macros area.
Support for converting strings to tokens. See section 4.1.9.
Fuzzy operand size logic introduced.
Fix COFF stack overrun on too long export identifiers.
Fix Macho-O alignment bug.
Fix crashes with -fwin32 on file with many exports.
Fix stack overrun for too long [DEBUG id].
Fix incorrect sbyte usage in IMUL (hit only if optimization flag passed).
Append ending token for .stabs records in the ELF output format.
New NSIS script which uses ModernUI and MultiUser approach.
Visual Studio 2008 NASM integration (rules file).
Warn a user if a constant is too long (and as result will be stripped).
The obsoleted pre-XOP AMD SSE5 instruction set which was never actualized was \ 
removed.
Fix stack overrun on too long error file name passed from the command line.
Bind symbols to the .text section by default (ie in case if SECTION directive \ 
was omitted) in the ELF output format.
Fix sync points array index wrapping.
A few fixes for FMA4 and XOP instruction templates.
Add AMD Lightweight Profiling (LWP) instructions.
Fix the offset for %arg in 64-bit mode.
An undefined local macro (%$) no longer matches a global macro with the same name.
Fix NULL dereference on too long local labels.

Files:
RevisionActionfile
1.44modifypkgsrc/devel/nasm/Makefile
1.20modifypkgsrc/devel/nasm/distinfo
1.6modifypkgsrc/devel/nasm/patches/patch-ac