Do it for all packages that
* mention perl, or
* have a directory name starting with p5-*, or
* depend on a package starting with p5-
like last time, for 5.18, where this didn't lead to complaints.
Let me know if you have any this time.
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.
a) refer 'perl' in their Makefile, or
b) have a directory name of p5-*, or
c) have any dependency on any p5-* package
Like last time, where this caused no complaints.
Remove code for gcc 2 in pkgsrc Makefile; it required gcc 3.0 anyway.
cl-2.07 Version 2.07
NASM is now under the 2-clause BSD license.
Fix the section type for the .strtab section in the elf64 output format.
Fix the handling of COMMON directives in the obj output format.
New ith and srec output formats; these are variants of the
bin output format which output Intel hex and Motorola S-records,
respectively. See ithfmt and srecfmt.
rdf2ihx replaced with an enhanced rdf2bin, which can output
binary, COM, Intel hex or Motorola S-records.
The Windows installer now puts the NASM directory first in the
PATH of the "NASM Shell".
Revert the early expansion behavior of %+ to pre-2.06 behavior:
%+ is only expanded late.
Yet another Mach-O alignment fix.
Don't delete the list file on errors. Also, include error and
warning information in the list file.
Support for 64-bit Mach-O output, see machofmt.
Fix assert failure on certain operations that involve strings with
high-bit bytes.
cl-2.06 Version 2.06
This release is dedicated to the memory of Charles A. Crayne, long
time NASM developer as well as moderator of comp.lang.asm.x86 and
author of the book Serious Assembler. We miss you, Chuck.
Support for indirect macro expansion (%[...]). See indmacro.
%pop can now take an argument, see pushpop.
The argument to %use is no longer macro-expanded. Use
%[...] if macro expansion is desired.
Support for thread-local storage in ELF32 and ELF64. See elftls.
Fix crash on %ifmacro without an argument.
Correct the arguments to the POPCNT instruction.
Fix section alignment in the Mach-O format.
Update AVX support to version 5 of the Intel specification.
Fix the handling of accesses to context-local macros from higher
levels in the context stack.
Treat WAIT as a prefix rather than as an instruction, thereby
allowing constructs like O16 FSAVE to work correctly.
Support for structures with a non-zero base offset. See struc.
Correctly handle preprocessor token concatenation (see concat)
involving floating-point numbers.
The PINSR series of instructions have been corrected and
rationalized.
Removed AMD SSE5, replaced with the new XOP/FMA4/CVT16 (rev 3.03)
spec.
The ELF backends no longer automatically generate a .comment section.
Add additional "well-known" ELF sections with default attributes. See
elfsect.
Version 2.05.01
* Fix the -w/-W option parsing, which was broken in NASM 2.05.
Version 2.05
* Fix redundant REX.W prefix on JMP reg64.
* Make the behaviour of -O0 match NASM 0.98 legacy behavior.
See section 2.1.22.
* -w-user can be used to suppress the output of %warning
directives. See section 2.1.24.
* Fix bug where ALIGN would issue a full alignment datum instead
of zero bytes.
* Fix offsets in list files.
* Fix %include inside multi-line macros or loops.
* Fix error where NASM would generate a spurious warning on
valid optimizations of immediate values.
* Fix arguments to a number of the CVT SSE instructions.
* Fix RIP-relative offsets when the instruction carries an immediate.
* Massive overhaul of the ELF64 backend for spec compliance.
* Fix the Geode PFRCPV and PFRSQRTV instruction.
* Fix the SSE 4.2 CRC32 instruction.
Version 2.04
* Sanitize macro handing in the %error directive.
* New %warning directive to issue user-controlled warnings.
* %error directives are now deferred to the final assembly phase.
* New %fatal directive to immediately terminate assembly.
* New %strcat directive to join quoted strings together.
* New %use macro directive to support standard macro directives.
See section 4.6.4.
* Excess default parameters to %macro now issues a warning by
default. See section 4.3.
* Fix %ifn and %elifn.
* Fix nested %else clauses.
* Correct the handling of nested %reps.
* New %unmacro directive to undeclare a multi-line macro. See
section 4.3.10.
* Builtin macro __PASS__ which expands to the current assembly
pass. See section 4.11.9.
* __utf16__ and __utf32__ operators to generate UTF-16 and
UTF-32 strings. See section 3.4.5.
* Fix bug in case-insensitive matching when compiled on platforms
that don't use the configure script. Of the official release
binaries, that only affected the OS/2 binary.
* Support for x87 packed BCD constants. See section 3.4.7.
* Correct the LTR and SLDT instructions in 64-bit mode.
* Fix unnecessary REX.W prefix on indirect jumps in 64-bit mode.
* Add AVX versions of the AES instructions (VAES...).
* Fix the 256-bit FMA instructions.
* Add 256-bit AVX stores per the latest AVX spec.
* VIA XCRYPT instructions can now be written either with or
without REP, apparently different versions of the VIA spec
wrote them differently.
* Add missing 64-bit MOVNTI instruction.
* Fix the operand size of VMREAD and VMWRITE.
* Numerous bug fixes, especially to the AES, AVX and VTX instructions.
* The optimizer now always runs until it converges. It also
runs even when disabled, but doesn't optimize. This allows most
forward references to be resolved properly.
2.03.01
-------
* Fix buffer overflow in the listing module.
* Fix the handling of hexadecimal escape codes in `...` strings.
* The Postscript/PDF documentation has been reformatted.
* The -F option now implies -g.
2.03
----
* Add support for Intel AVX, CLMUL and FMA instructions,
including YMM registers.
* "dy", "resy" and "yword" for 32-byte operands.
* Fix some SSE5 instructions.
* Intel INVEPT, INVVPID and MOVBE instructions.
* Fix checking for critical expressions when the optimizer is enabled.
* Support the DWARF debugging format for ELF targets.
* Fix optimizations of signed bytes.
* Fix operation on bigendian machines.
* Fix buffer overflow in the preprocessor.
* SAFESEH support for Win32, IMAGEREL for Win64 (SEH).
* %? and %?? to refer to the name of a macro itself. In particular,
"%idefine keyword $%?" can be used to make a keyword "disappear".
* New options for dependency generation: -MD, -MF, -MP, -MT, -MQ.
* New preprocessor directives %pathsearch and %depend; INCBIN
reimplemented as a macro.
* %include now resolves macros in a sane manner.
* %substr can now be used to get other than one-character substrings.
* New type of character/string constants, using backquotes (`...`),
which support C-style escape sequences.
* %defstr and %idefstr to stringize macro definitions before creation.
* Fix forward references used in EQU statements.
changes:
-bugfixes
-documentation improvements
-ELF: Experimental support for DWARF debugging information
-New compile date and time standard macros
-%ifnum now returns true for negative numbers
-Add support for the XSAVE instruction group
please see the ChangeLog if interested.
All patches except Makefile patches are no longer necessary.
While here, add -Wno-signed-char to quiet these warnings.
Also change INSTALLATION_DIRS to AUTO_MKDIRS, quiet pkglint
by setting INFO_FILES=yes.
makeinfo if no native makeinfo executable exists. Honor TEXINFO_REQD
when determining whether the native makeinfo can be used.
* Remove USE_MAKEINFO and replace it with USE_TOOLS+=makeinfo.
* Get rid of all the "split" argument deduction for makeinfo since
the PLIST module already handles varying numbers of split info files
correctly.
NOTE: Platforms that have "makeinfo" in the base system should check
that the makeinfo entries of pkgsrc/mk/tools.${OPSYS}.mk are
correct.
developer is officially maintaining the package.
The rationale for changing this from "tech-pkg" to "pkgsrc-users" is
that it implies that any user can try to maintain the package (by
submitting patches to the mailing list). Since the folks most likely
to care about the package are the folks that want to use it or are
already using it, this would leverage the energy of users who aren't
developers.
around at either build-time or at run-time is:
USE_TOOLS+= perl # build-time
USE_TOOLS+= perl:run # run-time
Also remove some places where perl5/buildlink3.mk was being included
by a package Makefile, but all that the package wanted was the Perl
executable.
* Add Makefile for 16-bit DOS binaries under OpenWatcom, and modify
mkdep.pl to be able to generate completely pathless dependencies, as
required by OpenWatcom wmake (it supports path searches, but not
explicit paths.)
* Fix the STR instruction.
* Fix the ELF output format, which was broken under certain
circumstances due to the addition of stabs support.
* Quick-fix Borland format debug-info for -f obj
* Fix for %rep with no arguments (#560568)
* Fix concatenation of preprocessor function call (#794686)
* Fix long label causes coredump (#677841)
* Use autoheader as well as autoconf to keep configure from generating
ridiculously long command lines.
* Make sure that all of the formats which support debugging output
actually will suppress debugging output when -g not specified.