13 Sep 2012, PHP 5.4.7
- Core:
. Fixed bug (segfault while build with zts and GOTO vm-kind). (Laruence)
. Fixed bug #62955 (Only one directive is loaded from "Per Directory Values"
Windows registry). (Felipe)
. Fixed bug #62844 (parse_url() does not recognize //). (Andrew Faulds).
. Fixed bug #62829 (stdint.h included on platform where HAVE_STDINT_H is not
set). (Felipe)
. Fixed bug #62763 (register_shutdown_function and extending class).
(Laruence)
. Fixed bug #62725 (Calling exit() in a shutdown function does not return
the exit value). (Laruence)
. Fixed bug #62744 (dangling pointers made by zend_disable_class). (Laruence)
. Fixed bug #62716 (munmap() is called with the incorrect length).
(slangley@google.com)
. Fixed bug #62358 (Segfault when using traits a lot). (Laruence)
. Fixed bug #62328 (implementing __toString and a cast to string fails)
(Laruence)
. Fixed bug #51363 (Fatal error raised by var_export() not caught by error
handler). (Lonny Kapelushnik)
. Fixed bug #40459 (Stat and Dir stream wrapper methods do not call
constructor). (Stas)
- CURL:
. Fixed bug #62912 (CURLINFO_PRIMARY_* AND CURLINFO_LOCAL_* not exposed).
(Pierrick)
. Fixed bug #62839 (curl_copy_handle segfault with CURLOPT_FILE). (Pierrick)
- DateTime:
. Fixed bug #62852 (Unserialize invalid DateTime causes crash).
(reeze.xia@gmail.com)
- Intl:
. Fixed Spoofchecker not being registered on ICU 49.1. (Gustavo)
. Fix bug #62933 (ext/intl compilation error on icu 3.4.1). (Gustavo)
. Fix bug #62915 (defective cloning in several intl classes). (Gustavo)
- Installation:
. Fixed bug #62460 (php binaries installed as binary.dSYM). (Reeze Xia)
- PCRE:
. Fixed bug #55856 (preg_replace should fail on trailing garbage).
(reg dot php at alf dot nu)
- PDO:
. Fixed bug #62685 (Wrong return datatype in PDO::inTransaction()). (Laruence)
- Reflection:
. Fixed bug #62892 (ReflectionClass::getTraitAliases crashes on importing
trait methods as private). (Felipe)
. Fixed bug #62715 (ReflectionParameter::isDefaultValueAvailable() wrong
result). (Laruence)
- Session:
. Fixed bug (segfault due to retval is not initialized). (Laruence)
. Fixed bug (segfault due to PS(mod_user_implemented) not be reseted
when close handler call exit). (Laruence)
- SPL:
. Fixed bug #62904 (Crash when cloning an object which inherits SplFixedArray)
(Laruence)
. Implemented FR #62840 (Add sort flag to ArrayObject::ksort). (Laruence)
- Standard:
. Fixed bug #62836 (Seg fault or broken object references on unserialize()).
(Laruence)
- FPM:
. Merged PR 121 by minitux to add support for slow request counting on PHP
FPM status page. (Lars)
This package contains _just_ the shared libraries from gcc47 that programs
compiled with gcc need at runtime so that the entire gcc47 package does not
have to be install.
Because multiple packages cannot be build from the same PKGDIR and building
components of gcc separately is problematic this package is build using a
a couple of "cheap tricks":
1) gcc47 is built as before (including the libraries) but with a second
RPATH compiled in to all programs.
2) This package has a BUILD_DEPENDS on lang/gcc47 and simply copies the
shared libraries (except the java ones) to the second RPATH location
(so as to not have conflicts with lang/gcc47).
3) When adding a runtime dependence the pattern '{gcc47,gcc47-libs}>=4.7.*'
is used (i.e. the full gcc47 OR the gcc47-libs package can be used).
4) So that when a package that has the above dependence is installed
pkg_add will, if neither gcc47 or gcc47-libs is installed, automatically
install gcc47-libs the PKGREVISION of gcc47-libs should all ways be
bumped so that it is at least 1 more than that of the lang/gcc47
package. (With a note in this packages Makefile and one to be placed
in lang/gcc47's Makefile.)
Changes in Erlang/OTP R15B01
Highlights:
* Dialyzer: The type analysis tool Dialyzer is optimized to be
generally faster. - It can now also run in parallel (default)
on SMP systems and by this perform the analysis significantly
faster (Thanks to Stavros Aronis and Kostis Sagonas)
* The SSL application now has experimental support for the
TLS 1.1 and 1.2 standards as well (Thanks to Andreas Schultz).
* CommonTest: It is now possible to sort the generated html tables.
A Netconf client (ct_netconf) which support basic netconf over
ssh is added
* Diameter: Statistics counters related to Diameter messages
can now be retrieved by calling the diameter:service_info/2
function.
* Various smaller optimizations in the Erlang VM
* This release also contains 66 contributions from users
outside the Ericsson team
runawk:
- Clean-ups in usage message
- system(3) is not used anymore for removing temporary directory
modules:
- Function print_help() has been moved
from power_getopt.awk to init_getopt.awk
Java(TM) SE Development Kit 6, Update 35 (JDK 6u35)
The full version string for this update release is 1.6.0_35-b10 (where "b" means
"build") and the version number is 6u35.
JDK Demos and Samples remain the same as in JDK 6u34
The vulnerabilities addressed by this security release do not affect the demos
and samples code. Therefore there is no need to update Demos and Samples as long
as the JDK itself is updated to 6u35.
Olson Data 2012c
JDK 6u35 contains Olson time zone data version 2012c. For more information,
refer to Timezone Data Versions in the JRE
Bug Fixes
This release contains a security-in-depth fix. For more information, see Oracle
Security Alert for CVE-2012-4681.
Java(TM) SE Development Kit 6, Update 34 (JDK 6u34)
The full version string for this update release is 1.6.0_34-b04 (where "b" means
"build") and the version number is 6u34.
Olson Data 2012c
JDK 6u34 contains Olson time zone data version 2012c. For more information,
refer to Timezone Data Versions in the JRE Software.
Bug Fixes
Notable Bug Fixes in JDK 6u34
Bug Id Category Sub_Category Description
7162955 hotspot attach Attach api on Solaris, too many
open files
7100757 hotspot compiler2 The BitSet.nextSetBit() produces
incorrect result in 32bit VM on
Sparc
7108221 hotspot compiler2 Backport to jdk6 Hotspot defaults
for AMD Bulldozer processor
7167142 hotspot runtime_arguments Issue warning when finding a
.hotspotrc or .hotspot_compiler
file that isn't used
6941923 hotspot runtime_logging RFE: Handling large log files
produced by long running Java
Applications
7059899 hotspot runtime_system Stack overflows in Java code cause
64-bit JVMs to exit due to SIGSEGV
7145587 hotspot runtime_system Stack overflows in Java code cause
64-bit JVMs to exit due to
SIGSEGV (solaris sparc)
7177216 java char_encodings native2ascii changes file
permissions of input file
7027300 java classes_2d Unsynchronized HashMap access
causes endless loop
7183251 java classes_2d Netbeans editor renders text
wrong on JDK 7u6 build 17
6707273 java classes_awt TrayIcon does not support 8-bit
alpha channel in Windows XP
7145980 java classes_awt Dispose method of window.java
takes long
6521014 java classes_net IOException thrown when Socket
tries to bind to an local IPv6
address on SuSE Linux
6543428 java classes_net BindException when binding to a
link-local address on Windows
6886436 java classes_net Lightwight HTTP Container
(com.sun.* package) is unstable
7118373 java classes_nio (se) Potential leak file descriptor
when deregistrating at around
the same time as an async close
7093090 java classes_security Reduce synchronization in
java.security.Policy.getPolicyNoCheck
7152564 java classes_security Improve CodeSource.matchLocation
(CodeSource) performance
7165725 java classes_swing JAVA6 HTML PARSER CANNOT PARSE
MULTIPLE SCRIPT TAGS IN A LINE
CORRECTLY
7071826 java classes_util UUID.randomUUID() race condition
7144488 java classes_util (coll) Infinite recursion for
some equals tests in Collections
7133138 java classes_util_i18n Improve io performance around
timezone lookups
7149608 java classes_util_i18n (tz): Default TZ detection fails
on linux when symbolic links to
non default location used.
7167359 java classes_util_i18n (tz) SEGV on solaris if TZ
variable not set
7141852 java compiler 1.6 v30 no longer compiles
particular interface inheritance
hierarchy
7158412 java install JRE installer does not delete
its installation files from the
user's Application Data folder
7148584 java jar Jar tools fails to generate
manifest correctly when boundary
condition hit
7175845 java jar "jar uf" changes file permissions
unexpectedly
7070619 java localization locale issue for keytool with
pt_BR
7168110 java serviceability Misleading jstack error message
7063183 java_deployment general AIOB exception in the
RemoveCommentReader
7063790 java_deployment general SunAutoProxyHandlerTest hangs
7119269 java_deployment general Tune URLUtils
7173533 java_deployment general Discoverer 10g olap is slower
when using java 1.6 than with 1.5
7175548 java_deployment security Regression: Fix 7110690 breaks
crossdomain functionality for
applets running on 6u33-b03 (FCS/GA)
6670362 jgss krb5plugin HTTP/SPNEGO should work across
realms
7067974 jgss krb5plugin multiple ETYPE-INFO-ENTRY with
same etype and different salt
7155051 jndi dns DNS provider may return incorrect
results
7157903 jsse runtime JSSE client sockets are very slow
7166570 jsse runtime JSSE certificate validation has
started to fail for certificate
chains
Pkgsrc changes:
o Simplify the patch to remove the work-directory rpath.
Upstream changes:
- Core
+ Added .all_tags() and .all_tagged_pmcs() methods to PackfileView PMC
+ Several build and coding standards fixes
The runpath of the TCL_LIB_SPEC was missing as compared to version 8.4,
so the configure script was altered to add it back.
Also, the CONFIGURE_ARGS for thread options had unrecognized arguments.
Problems found and fixes suggested by he@
The TclX project is dead. The homepage still works, but says the main
page for development is <http://www.neosoft.com/TclX/>, and it doesn't
resolve. Additionally, the last release on Sourceforge was Nov 2005.
TclX does not build with the latest stable version of Tcl. Rather than
keeping this package on life support, it's prudent to just remove it.
Discussed with wiz@ and he@
The TclX project is dead. The homepage still works, but says the main
page for development is <http://www.neosoft.com/TclX/>, and it doesn't
resolve. Additionally, the last release on Sourceforge was Nov 2005.
TclX does not build with the latest stable version of Tcl. Rather than
keeping this package on life support, it's prudent to just remove it.
Discussed with wiz@ and he@
This package is based on lang/tcl-expect which was just updated to
the latest version 5.45. The expectk binary is no longer generated
in the latest versions of expect. Since expectk is the sole purpose
of this package, it will be retired.
Pass the tlc/tk versions to the configure script after including their
Makefile.version files. Unfortunately, while the build gets further,
it breaks later due to incompatiblity with version 8.5.
There doesn't appear to be a summary of changes between versions 5.43,
5.44 and 5.45. Perusing the Changelog gives me the impression that
the updates are improvements and bug fixes against existing functionality.
Regardless, version 5.43 is incompatible with tcl8.5. Expect had to
be updated after TCL was updated to version 8.5.
Highlights of Tcl 8.5
* Features: 8.5 has over 90 TIPs included to provide a wide variety of
new features.
* Bignums: Tcl now supports arbitrary-precision integers, which improves
math operations on large integers.
* Safer interps: Tcl's powerful safe interpreter mechanism now has
improved control of time and command limits in slave interpreters.
* clock command: More robust implementation of command for specifying
time, with significant l10n and i18n improvements.
* dict command: New data structure that allows access to data by value
rather than a variable name, which is substantially faster.
* Additional improvements: Faster list search, new and improved
mathematics procedures, anonymous procedures, new ways to package Tcl
extensions, Tcl-level custom channel types, file and line location
information for each command, and more.
There is of course much, much more.
See [8.5 Changes](http://wiki.tcl.tk/10630) on the wiki for a complete
list of new features.
runawk_modules.3 was added where all modules are documented
Long options are considered deprecated
-i and -I options were removed
man pages are included to a distribution tarball,
so pod2man is not needed for building
Upstream changes:
- Core
+ Added init_pmc method to PackFileView.
- Documentation
+ Added source lines from 'docs/index/book.json' to 'index.json'
to make display of 'Parrot Developer's Guide: PIR (draft)'
display more like the other books, e.g., 'PCT Book'.
+ Removed 'docs/index/book.json' as unnecessary.
- Build
+ Improve on 'sudo make install' permission errors by using
File::Copy::cp.
* Specific DragonFly configuration was added
* A couple of K_USING_BSD macros were changed to __NetBSD__ along with
other changes to support FreeBSD and DragonFly
* If MySQL is on the system, CMake will find it and try to use it.
Problem 1: It's broken, it can't link to libmysql
Problem 2: If it could, it would affect PLIST
So disable MySQL detection for now, sqlite3 is what's used.
I suspect there are other CMake detection logic that aren't accounted
for yet in Konoha.
Requested by Aleksej Lebedev in private mail.
Changes since 4.7.0:
4.7.0.6
The stability (-st) branch is now the official branch for point
releases, so the -st suffix has been retired.
- Security fixes
- on 64-bit machines the "random" procedure no longer truncates result
values (which caused very nonrandom results for very large values).
Note that random shouldn't be used for security-critical code.
- Core libraries
- tcp-connect now closes socket on connection timeout
[thanks to Jorg Wittenberger].
- Ensure srfi-13 string comparison returns a boolean, fix bugs in
xsubstring and string-xcopy!, and add a test suite.
- Fix off-by-one error in pending finalizer code which could lead to crash.
- Exceptions signalled by code that executes in finalizers will now
be caught and do not propagate upwards into arbitrary user code.
4.7.0.5-st
- Build system
- LLVM gcc and clang can now be used to compile the system. Previously,
building with LLVM produced binaries that would hang and use 100% CPU.
Fixes compatibility with OS X 10.6 and later.
- Core libraries
- symbols with a single-char print-name were not always properly escaped
when printed readably (#772)
4.7.0.4-st
- Core libraries
- "with-input-from-file", "with-output-to-file", "with-input-from-pipe" and
"with-output-to-pipe" now properly restore the standard input/output
ports in case the body thunk escapes
- Build system
- Fixes for port tests
- C_TARGET_INCLUDE_HOME fix for cygwin
4.7.0.3-st
- Core libraries
- fixed bug in reading of octal escape in string literal
- Compiler
- fixed erroneous optimization of toplevel assignments in the presence
of conditionals (found by Paul Colby and Mario Domenench Goulart).
For example, this had printed "undefined" and now prints "good":
(define A #t)
(define B 'undefined)
(if A
(set! B 'good)
(set! B 'bad))
(print B)
4.7.0.2-st
- Core libraries
- port-procedures now check correctly for argument-ports being open
(thanks to Peter Bex)
- fixed irregex overlapping charsets problem (#636)
- Runtime system
- fixed handling of "inf" floating-point predicate for Solaris
(thanks to Claude Marinier)
- Core tools
- "chicken-profile"
- fixed broken percentage calculation (thanks to "megane")
- Compiler
- the "-uses" option handles whitespace in unit lists given on the
command line (thanks to Santosh Rajan)
4.7.0.1-st
- Build system
- The default target library name for an installation configured for cross-
compilation is now "libchicken" and independent on any particular
setting of PROGRAM_PREFIX/PROGRAM_SUFFIX (thanks to Otavio Salvador)
- Compiler
- Fixed incorrect optimization rules for some fp-rounding and fixnum operators
- Unused arguments in callback wrappers were incorrectly optimized away (#584)
- Core libraries
- Fixed bugs in "make-pathname" and "normalize-pathname" (thanks to Jim Ursetto)
- The reader is now more consistent when parsing symbol- and keyword names
that are fully or partially escaped (thanks to Kon Lovett)
- Fixed a bug in the Windows implementation of "file-type" (thanks to
Jim Ursetto)
- Fixed a bug in the implementation of "current-milliseconds" that could
result in integer-overflow
- Fixed an incorrect type-check in "list-ref" (thanks to Sven Hartrumpf)
- Fixed bug in "string->number" that caused out-of-range characters to
be accepted for base > 10 (thanks to Jim Ursetto)
- Foreign function interface
- "int32" was not properly detected as a valid foreign type (thanks
to Jim Ursetto)
- Syntax expander
- Fixed a bug in the processing of extended lambda-lists (thanks to Peter Bex)
Changelog:
2011-08-08 j.m.reneau <renejm@users.sourceforge.net> 0.9.6.68
* added TEXTWIDTH statement to return width of a string i the current font before output to the graphics area
2011-08-07 j.m.reneau <renejm@users.sourceforge.net> 0.9.6.67
* added -r option to command line to switch UI to run only mode
Armed Bear Common Lisp (ABCL) is a full implementation of
the Common Lisp language featuring both an interpreter and
a compiler, running in the JVM. Originally started to be
a scripting language for the J editor, it now supports JSR-223
(Java scripting API): it can be a scripting engine in any Java
application. Additionally, it can be used to implement (parts of)
the application using Java to Lisp integration APIs.
Changes in Racket 5.3
* Submodules are nested module declarations that can be loaded and
run independently from the enclosing module. For an overview of
submodules, see
http://blog.racket-lang.org/2012/06/submodules.html
* The futures visualizer is a graphical profiling tool for parallel
programs using futures. The tool shows a detailed execution
timeline depicting the migration of futures between threads, and
gives detailed information about each runtime synchronization that
occurred during program execution. In addition, `would-be-future'
is a special type of future that always executes sequentially and
records all potential barricades a regular future would encounter.
* Optimization Coach (formerly Performance Report) reports
information about Racket's inlining optimizations. Optimization
Coach can be launched in any language through the View menu.
* The new `images/flomap' library defines floating-point bitmaps and
fast image processing operations on them. It is written in Typed
Racket, so Typed Racket code may use it without the cost of
contract checks.
* The new `json' library supports parsing and generating JSON.
(Originally based on Dave Herman's planet library.)
* `racket/string' is extended with a set of simplified string
manipulation functions that are more convenient than using
regexps. `regexp-match*' and friends can now be used with new
keyword arguments to return specific matched regexp group/s and
gaps between matches.
* The new `racket/generic' library allows generic function
definitions, which dispatch to methods added to a structure type
via the new `#:methods' keyword.
* The `class' form supports declaring a method abstract. An
abstract method prevents a class from being instantiated unless it
is overridden.
* The contract library comes with support for interfaces, generics,
prompts, continuation-marks, and structs.
* Most error messages use a new multi-line format that is more
consistent with contract errors and accommodates more information.
* Typed Racket supports function definitions with keyword arguments;
the startup time of Typed Racket programs has been sharply
reduced.
* The new `ffi/com' library replaces MysterX; a compatibility
`mysterx' library remains, but without ActiveX support. The new
`ffi/unsafe/com' library offers a more primitive and direct way to
use COM classes and methods.
* There is now a very complete completion code for zsh. It is not
included in the distribution though; get it at http://goo.gl/DU8JK
(This script and the bash completions will be included in the
standard installers in future versions.)
--- DEPRECATION ----------------------------------------------------
Effective this release:
- The `tex2page' and `combinator-parser' libraries have been moved
from the Racket distribution to PLaneT:
(require (planet plt/tex2page))
(require (planet plt/combinator-parser))
The following has been deprecated and will be removed in the
January 2013 release:
- the `planet' command-line tool; use `raco planet' instead.
The following has been deprecated and will be removed in the
August 2013 release:
- the `mzlib/class100' library; use `racket/class' instead.
Changes in sbcl-1.0.58 relative to sbcl-1.0.57:
* enhancement: implicit generic function warnings now specify the package
in which the new generic function is being created.
* enhancement: SB-EXT:ATOMIC-UPDATE makes it easy to perform non-destructive
updates of CAS-able places (similar to Clojure's swap!).
* enhancement: run-program no longer decodes and re-encodes environment when
:environment argument is not provided. (lp#985904)
* enhancement: errors during compiler-macro expansion no longer cause
runtime errors, only a compile-time warning, otherwise behaving as if
the compiler macro had declined to expand.
* optimization: On x86-64, code alignment of block headers is done with
multi-byte NOPs now instead of repetitions of the single-byte NOP.
* optimization: MAP-INTO is substantially faster when the target sequence is
of unknown type; mapping into lists is no longer O(N^2). (thanks to James
M. Lawrence)
* optimization: the compiler no longer heap-conses to check exits in cases
where the exit function is dynamic extent, or when it can prove the exit
function cannot escape.
* optimization: SB-SEQUENCE:DOSEQUENCE is faster on vectors of unknown
element type, and vectors that aren't SIMPLE-ARRAYs.
* optimization: CL:SORT and CL:STABLE-SORT are more efficient in execution
speed (around 1/3 the time in some cases), and a little better in terms of
comparison calls. (Thanks to Takeru Ohta)
* bug fix: On SPARC, a limitation on the number of code constants emittable
by the compiler has been lifted, allowing certain long functions to
compiled and assembled which had previously been unsupported; fixes
cl-bench on this ISA (lp#1008996).
* bug fix: potential for infinite recursion during compilation of CLOS slot
typechecks when dependency graph had loops. (lp#1001799)
* bug fix: error forms reported with some program-errors were not escaped
properly.
* bug fix: functions from EVAL are now on more equal footing with functions
from COMPILE. (lp#1000783, lp#851170, lp#922408)
* bug fix: ENSURE-GENERIC-METHOD-COMBINATION accepts method combination
objects as its :METHOD-COMBINATION argument, not just lists designating
method combinations. (lp#936513)
* bug fix: run-program no longer unconditionally uses /tmp/ for temporary
files. (lp#968837).
* bug fix: restore build on solaris/sparc. (lp#1008506)
* bug fix: an issue with LDB in the PowerPC backend has been resolved;
this fixes an issue found with cl-postgres (thanks to Tomas Hlavaty).
* bug fix: compiler-macro lambda-lists specifying non-keyword symbols
as keyword arguments no longer accidentally match unevaluated symbols
against them.
* bug fix: FORMAT used to loop infinitely in some cases when a COLINC
parameter was zero, now it signals an error. (lp#905817, fixed since
1.0.56.19)
* bug fix: run-program with :pty t no longer makes the pty as the process's
controling terminal.
A very large number of patches is required to properly build a stock
gcc on DragonFly, as evidenced by the patches added to lang/gcc47.
DragonFly already has a very good gcc46-based compiler in lang/gnat-aux.
DragonFly users that specifically need gcc46 have been told to use
gnat-aux. There's no need to make maintenance of lang/gcc46 harder so
it's masked on DragonFly to show its intentionally unsupported.
The libraries of gcc-aux are not located on standard search paths for
the runtime linker to find. Moreover, libraries from other versions
of gcc may be and in that case rtld will link the wrong library. To
fix this, an rpath to ${PREFIX}/gcc-aux/lib will be inserted into every
dynamic binary created by gcc-aux.
Other changes include:
1) simpler and more robust detection of an existing gcc-aux compiler to
be used rather than the older bootstrap compiler.
2) Fixed FreeBSD support. FreeBSD bootstraps are available but not yet
listed due to lack of testing (however, it should work out of the box)
3) Fixed some c++ testsuite directives for dejagnu
Pkgsrc changes:
- Add a patch to track the addition of Parrot_get_cpu_type() to misc.c,
which is platform-dependent on NetBSD.
- Fix pbc_to_exec.winxed so that there are no rpath build-directory
references in installed executables. Reported upstream as issue #803.
- Adjust PLIST to match installed files.
Upstream changes:
- Core
+ Added .write_bytes and .read_bytes methods to FileHandle and Socket
PMCs.
+ Added Parrot_api_set_stdhandle, Parrot_api_new_call_object and
Parrot_api_setup_signature functions to the embedding API
+ Removed the "can" VTABLE
- Languages
+ Winxed snapshot updated to 1.9.1
- New syntax for parameters in multi
- New syntax for initalization with new
- Cast to var improved
- IMCC
+ Removed .line, .file, setline and setfile directives from IMCC
- Documentation
+ Fixed up Pod in 240 files to pass 't/codingstd/pod_description.t'.
- Tests
+ Added 'docs/pdds' and 'docs/pdds/draft' as files for
'Parrot::Test::Pod.pm' to exclude.
- Build
+ Reduced number of packages under 'lib/Parrot/Pmc2c/'.
+ Added method-level documentation to several of the remaining packages.
+ Added 'docs/pdds' and 'docs/pdds/draft' as files for
'Parrot::Test::Pod.pm' to exclude.
- Community
+ M1, a C-like language that targets M0 had a burst of development
and now has many working examples such as recursive Fibonacci and
recursive factorial : https://github.com/parrot/m1
+ Parrot bindings to LAPACK are being worked on as part of Google
Summer of Code: https://github.com/leto/parrot-lapack
ECL 12.7.1:
===========
* Bugs fixed:
- The implementation of locks and condition variables based on POSIX threads
was not safe under interrupts. It has all been reimplemented using atomic
userspace operations plus a new wait queue.
- :CDECL was not accepted as an FFI declaration due to a typo.
- REMOVE-METHOD and FIND-METHOD were not generic functions.
- MAKE-LOAD-FORM's methods for standard-object, structure-object and
condition did not signal an error).
* Visible changes:
- ECL builds with support for threads by default (where available).
- DIRECTORY no longer complains when it finds an inexistent directory
component: it simply returns NIL as the list of pathnames.
- CASE now complains when the OTHERWISE/T clause is not the last one.
- Instead of issuing an error, LOOP now only produces a STYLE-WARNING
when iteration forms appear at the wrong place, as in (LOOP WHILE ...)
followed by some assignment.
- EXT:MKDIR no longer accepts pathnames as inputs to avoid problems with
pathnames that contain name or type components.
- ENSURE-DIRECTORIES-EXIST accepts the keyword argument :MODE which is
passed to MKDIR.
- In EXT:RUN-PROGRAM the child process is delayed until the parent has created
the process structure and stored the process id in it. Formerly we had race
conditions due to the child exiting before the parent was able to call
sigwait().
- Where available, ECL now defines the constants EXT:+SIGRTMIN+ and
EXT:+SIGRTMAX+, as well as EXT:+SIGRT0+ through EXT:+RTMINn+ where n =
SIGRTMAX - SIGRTMIN Those signals can be then trapped.
- The interrupt handler for floating point exceptions does not care about
the value of EXT:*INTERRUPTS-ENABLED* or similar mechanisms because such
interrupt has to be treated as an error, not as something optional. The
same applies to other evil signals, such as SIGSEGV or SIGBUS.
- New functions (EXT:GET-INTERRUPT-HANDLER code) and
(EXT:SET-INTERRUPT-HANDLER code function-designator) allow the user to
customize how these interrupts are caught. SET-INTERRUPT-HANDLER runs an
implicit EXT:CATCH-SIGNAL.
- ECL now exports the symbols FFI:C-INT-MAX, FFI:C-INT-MIN, FFI:C-LONG-MAX,
etc, which correspond to the POSIX C constants INT_MAX, INT_MIN, LONG_MAX,
and similar ones.
- APROPOS-LIST no longer returns duplicate symbols.
- The ABORT restart is now bound on every new thread (except the main one,
where either the user or the toplevel must take care of that).
* Windows:
- ECL guesses whether the input / output / error streams are consoles. If
so, it sets up a special type of stream that copes with the deficiencies
of read()/write() and similar functions on consoles -- namely that they
may read or write a larger number of bytes than demanded because they
translate the input/output to and from the corresponding codepage.
(EXPERIMENTAL)
- ECL detects the codepage that the console is using and applies it as
the appropriate external format (with :CRLF convention).
- ECL's console stream signals EOF when Ctrl-Z is detected.
* Metaobject protocol:
- Implemented CLOS:COMPUTE-APPLICABLE-METHODS-USING-CLASSES.
- COMPUTE-APPLICABLE-METHODS and CLOS:COMPUTE-EFFECTIVE-METHOD are now
generic functions.
- Implemented and used in the core: VALIDATE-SUPERCLASSES
- UPDATE-DEPENDENT, MAP-DEPENDENTS and related functions have been fixed. They
are now invoked by REMOVE-METHOD and REINITIALIZE-INSTANCE, when acting on
generic functions, standard classes, etc.
- (SETF CLASS-NAME) is now implemented using REINITIALIZE-INSTANCE.
- ENSURE-CLASS-USING-CLASS now registers the class with
FIND-CLASS. ENSURE-CLASS relies on E-C-U-C doing that.
- EXTRACT-LAMBDA-LIST and EXTRACT-SPECIALIZER-NAMES implemented.
- CLOS:GENERIC-FUNCTION-DECLARATIONS and slot CLOS:DECLARATIONS are now
implemented (even if not used by ECL itself).
- Implemented the class CLOS:METAOBJECT
- Implemented SPECIALIZER and EQL-SPECIALIZER, together with
ADD-DIRECT-METHOD, REMOVE-DIRECT-METHOD, SPECIALIZER-DIRECT-METHODS,
SPECIALIZER-DIRECT-GENERIC-FUNCTIONS and EQL-SPECIALIZER-OBJECT. ECL now
uses these objects internally for method dispatch.
- DEFMETHOD now relies on MAKE-METHOD-LAMBDA to create the appropriate
function.
- Implemented COMPUTE-DISCRIMINATING-FUNCTION.
- ECL's discriminating functions use COMPUTE-APPLICABLE-METHODS-USING-CLASSES
on those classes in which the user may redefine or extend the
method. Elsewhere, ECL relies on the internal equivalent of
COMPUTE-APPLICABLE-METHODS, which _always_ memoizes results.
- When reinitializing a class instance, ECL would not remove the class from
its former superclasses.
- The method combination slot of a generic function is now precomputed by
using FIND-METHOD-COMBINATION in SHARED-INITIALIZE.
- METHOD-COMBINATION is now a class with slots and it is used by ECL for
computing effective methods.
- The MOP and CL classes and metaclasses do not contain any slot whose name
is exported by any of the CL or CL-USER packages.
This adds shlib version handling to rubyversion.mk, a fix to configure
(include <sys/time.h> when checking for struct timespec) and a workaround
for broken code if getgrnam_r is available.
Pkgsrc changes -- minor adaptation to installed files.
Upstream changes:
- Core
+ Most internal calls to libc exit(x) have been replaced with
Parrot_x_* API calls or PARROT_FORCE_EXIT
- Documentation
+ 'pdd31_hll.pod' made stable in 'docs/pdds/'.
+ Updated main 'README' to 'README.pod'
+ Updated various dependencies, e.g., 'lib/Parrot/Distribution.pm'.
+ Updated all 'README' files to 'README.pod' files.
+ Added 'README.pod' files to top-level directories.
- Tests
+ Update various tests to pull from new 'README.pod'
+ Updated 't/tools/install/02-install_files.t' to pull from new
'README.pod'
- Community
- Platforms
- Tools
+ pbc_merge has been fixed to deduplicate constant strings and
merge annotations segments
No security fix, but bug fix only,
Fri Jun 29 21:26:05 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* eval.c (stack_extend): prevent ALLOCA_N, which reserves a memory
space with for restoring machine stack stored in each threads, from
optimization out. backport r34278 from the trunk.
Mon Jun 18 18:32:43 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
* backport r32609 from trunk.
* ext/openssl/ossl_hmac.c: Revert checking return type of
HMAC_Init_ex as it is not compatible with OpenSSL < 1.0.0.
Mon Jun 18 18:32:43 2012 Martin Bosslet <Martin.Bosslet@googlemail.com>
* backport r32606 from trunk.
* ext/openssl/ossl_digest.c: Check return value of EVP_DigestInit_ex.
* ext/openssl/ossl_hmac.c: Check return value of HMAC_Init_ex.
Thanks, Jared Jennings, for the patch.
[ Ruby 1.9 - Bug #4944 ] [ruby-core:37670]
Sun Jun 10 03:00:21 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* eval.c (ruby_setjmp): need to save the stack after r2 (the Table
of Contents on ppc64) is saved onto the stack by getcontext().
based on <https://bugzilla.redhat.com/show_bug.cgi?id=628715>.
Bug#4411
Thu Jun 7 19:00:35 2012 Kenta Murata <mrkn@mrkn.jp>
* ext/bigdecimal/bigdecimal.c (VpMemAlloc): Fixes a bug reported
by Drew Yao <ayao at apple.com>
Wed Jun 6 15:09:00 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* eval.c (rb_thread_join), ext/thread/thread.c (wake_one): adjusts
targets of rest waiting threads to join. [ruby-core:23457]
Wed Jun 6 14:44:13 2012 Kenta Murata <mrkn@mrkn.jp>
* bignum.c (rb_big2dbl), test/ruby/test_bignum.rb (test_to_f):
A negative Bignum out of Float range should be converted to -Infinity.
[ruby-core:30492] [Bug #3362]
Wed Jun 6 14:06:02 2012 Tanaka Akira <akr@fsij.org>
* lib/webrick/utils.rb: fix fcntl call.
* lib/drb/unix.rb: ditto.
Mon May 21 16:29:47 2012 Akinori MUSHA <knu@iDaemons.org>
* ext/syslog/syslog.c (mSyslog_inspect): Make sure self is a
module before calling rb_class2name().
Fri May 11 14:09:48 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/bigdecimal/bigdecimal.c (PUSH): to prevent VALUE from GC,
must not cast it to unsigned long, which may be shorter than
VALUE, and the result can be mere garbage.
Sat Apr 14 18:51:41 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* bignum.c (rb_big2str0): prevent working clone from
GC. [exerb-dev:0578]. patched by MURASE Masamitsu
<masamitsu.murase AT gmail.com> at [exerb-dev:0580]
Fri Mar 2 11:44:33 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* marshal.c (mark_dump_arg): mark destination string. patch by
Vit Ondruch. [Bug #4339]
* marshal.c (clear_dump_arg, clear_load_arg): clean up also data
tables as same as symbols tables.
Fri Mar 2 11:44:33 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* marshal.c (struct {dump,load}_arg): manage with dfree, instead
of using local variable which may be moved by context switch.
Minor fixes in documentation
Path to AWK interpreter is detected at build time (not hardcoded
/usr/bin/awk). This fixes runawk on, for example, Haiku.
Clean-ups in build system. mk-configure-0.23.0 is required.
19-July-2012
o Core
* Fixed bug #62443 (Crypt SHA256/512 Segfaults With Malformed Salt)
* Fixed bug #62432 (ReflectionMethod random corrupt memory on high
concurrent)
* Fixed bug #62373 (serialize() generates wrong reference to the
object).
* Fixed bug #62357 (compile failure: (S) Arguments missing for
built-in function __memcmp)
* Fixed bug #61998 (Using traits with method aliases appears to result
in crash during execution)
* Fixed bug #51094 (parse_ini_file() with INI_SCANNER_RAW cuts a value
that includes a semi-colon)
* Fixed potential overflow in _php_stream_scandir (CVE-2012-2688)
o EXIF
* Fixed information leak in ext exi
o FPM
* Fixed bug #62205 (php-fpm segfaults (null passed to strstr)
* Fixed bug #62160 (Add process.priority to set nice(2) priorities)
* Fixed bug #62153 (when using unix sockets, multiples FPM instances)
* Fixed bug #62033 (php-fpm exits with status 0 on some failures to
start)
* Fixed bug #61839 (Unable to cross-compile PHP with --enable-fpm)
* Fixed bug #61835 (php-fpm is not allowed to run as root)
* Fixed bug #61295 (php-fpm should not fail with commented 'user'
* Fixed bug #61218 (FPM drops connection while receiving some binary
values in FastCGI requests)
* Fixed bug #61045 (fpm don't send error log to fastcgi clients).
(fat) for non-root start)
* Fixed bug #61026 (FPM pools can listen on the same address).
(fat) can be launched without errors)
o Iconv
* Fixed bug #55042 (Erealloc in iconv.c unsafe)
o Intl
* Fixed bug #62083 (grapheme_extract() memory leaks)
* Fixed bug #62081 (IntlDateFormatter constructor leaks memory when
called twice)
* Fixed bug #62070 (Collator::getSortKey() returns garbage)
* Fixed bug #62017 (datefmt_create with incorrectly encoded timezone
leaks pattern)
* Fixed bug #60785 (memory leak in IntlDateFormatter constructor)
* ResourceBundle constructor now accepts NULL for the first two arguments
o JSON
* Fixed bug #61359 (json_encode() calls too many reallocs)
o libxml
* Fixed bug #62266 (Custom extension segfaults during xmlParseFile
with FPM SAPI)
o Phar
* Fixed bug #62227 (Invalid phar stream path causes crash)
o Readline
* Fixed bug #62186 (readline fails to compile - void function should
not return a value)
o Reflection
* Fixed bug #62384 (Attempting to invoke a Closure more than once
causes segfault)
* Fixed bug #62202 (ReflectionParameter::getDefaultValue() memory
leaks with constant)
o Sockets
* Fixed bug #62025 (__ss_family was changed on AIX 5.3)
o SPL
* Fixed bug #62433 (Inconsistent behavior of
RecursiveDirectoryIterator to dot files)
* Fixed bug #62262 (RecursiveArrayIterator does not implement
Countable)
o XML Writer
* Fixed bug #62064 (memory leak in the XML Writer module)
o Zip
* Upgraded libzip to 0.10.
{
19-July-2012
o Zend Engine
* Fixed bug #51094 (parse_ini_file() with INI_SCANNER_RAW cuts a value
that includes a semi-colon)
o COM
* Fixed bug #62146 com_dotnet cannot be built shared
o Core
* Fixed potential overflow in _php_stream_scandir, CVE-2012-2688
* Fixed bug #62432 (ReflectionMethod random corrupt memory on high
concurrent)
* Fixed bug #62443 (Crypt SHA256/512 Segfaults With Malformed Salt)
o Fileinfo
* Fixed magic file regex support
o FPM
* Fixed bug #61045 (fpm don't send error log to fastcgi clients)
* Fixed bug #61835 (php-fpm is not allowed to run as root)
* Fixed bug #61295 (php-fpm should not fail with commented 'user' for
non-root start)
* Fixed bug #61026 (FPM pools can listen on the same address)
* Fixed bug #62033 (php-fpm exits with status 0 on some failures to
start)
* Fixed bug #62153 (when using unix sockets, multiples FPM instances
can be launched without errors)
* Fixed bug #62160 (Add process.priority to set nice(2) priorities)
* Fixed bug #61218 (FPM drops connection while receiving some binary
values in FastCGI requests)
* Fixed bug #62205 (php-fpm segfaults (null passed to strstr))
o Intl
* Fixed bug #62083 (grapheme_extract() memory leaks)
* Fixed bug #62081 (IntlDateFormatter constructor leaks memory when
called twice)
* Fixed bug #62070 (Collator::getSortKey() returns garbage)
* Fixed bug #62017 (datefmt_create with incorrectly encoded timezone
leaks pattern)
* Fixed bug #60785 (memory leak in IntlDateFormatter constructor)
o JSON
* Reverted fix for bug #61537
o Phar
* Fixed bug #62227 (Invalid phar stream path causes crash)
o Reflection
* Fixed bug #62384 (Attempting to invoke a Closure more than once
causes segfault)
* Fixed bug #62202 (ReflectionParameter::getDefaultValue() memory
leaks with constant)
o SPL
* Fixed bug #62262 (RecursiveArrayIterator does not implement Countable)
o SQLite
* Fixed open_basedir bypass, CVE-2012-3365
o XML Write
* Fixed bug #62064 (memory leak in the XML Writer module)
o Zip
* Upgraded libzip to 0.10
The condition in the gcc-aux buildlink3.mk file requires the file
mk/pkg-build-options.mk to be included in order to work. This fixes the
bug introduced yesterday.
The NLS option is optional, but the buildlink pulled in gettext-lib
unconditionally. This caused failures in Tinderbox and pbuld chroot
when gettext-lib couldn't be found in those clean environments. The
final result is that all Ada programs file to build in those environments.
Also removed whitespace from DESC.
and various attempts to fix it have failed. Plus, gcc3 is highly obsolete
at this point and it's hardly worth spending effort on this. I believe
gcc-java support is available in most or all of the gcc4 packages.
Until now, GCC builders had to choose between Ada and C/C++ on the
following platforms:
i386-FreeBSD
i386-DragonFly
On these platforms, depending on the value of the configuration macro
TARGET_96_ROUND_53_LONG_DOUBLE, either Ada precision or C/C++ long
double precision was broken. The reason is that the floating point unit
of these platforms round off real-time calculations to 53-bit mantissas.
GCC will adjust accordingly to compensate. Since a common backend is used
for all languages, one had to choice which language they wanted correct.
The solution is to break out the object file responsible for this from
the common backend library. Ada now receives an altered version of
insn-modes.o, one that instructs the FPU not to round off the results.
This is all handled by patched Makefiles.
Other changes:
- Configure DragonFly to add ".note.GNU-stack" section to assembly files
to determine if program needs executable stacks
- Skip 2 subtests of Wconversion-real on i386 FreeBSD and DragonFly.
Due to the rounding behavior mentioned above, they fail to produce
error messages as expected. It's not possible to set target with
xfail, and every target && target seems not work work. So we will
assume all gcc-aux platform targets are long-double capabile and
just set xfail for x86 FreeBSD and DragonFly.
- Rework Fortran large real test 2 to skip on x86_64 *BSD. This test
should pass on x86 machines.
- Rework Fortran large real test 3 to be skipped when compiles with -O0
only x86_64 machines. All other combinations will pass.
- Rename C format test typedef from quad_t to quad2_t. DragonFly
has a standard type called quad_t and the type conflict causes a
large number of gcc tests to fail.
- Add dummy dg-error line to avoid an assembly comparison tests on
large files not built (test was marked as UNSUPPORTED but dejagnu is
too dumb to know not to check for the tests' products.)
- Reorder path passed during build when using an already-built gcc-aux
compiler to build new compiler. If gnat-aux is also installed, it
would use the gnat* tools from that compiler rather than gcc-aux
which results in build failure (different versions of tools are
getting used together resulting in build failure).
> ruby193 binary built on NetBSD/sparc64 with gcc 4.5.1 and the default -O2
> dumps core during generating RDocs.
> Using -O1 works around.
ruby193 binary with this hacks.mk is confirmed by running net/mikutter
on Ultra5.
Like i386-FreeBSD, the i386-DragonFly floating point unit uses a 53-bit
mantissa. GCC uses the TARGET_96_ROUND_53_LONG_DOUBLE macro to know
which platforms behave this way.
Unfortunately, setting this macro to 1 breaks precision on Ada, and
leaving it at 0 breaks precision on c/c++ long double handling. However
lang/gcc47 likely will never support Ada, so we'll favor c/c++. This
is only an issue for i386; the setting on x86_64 should be zero as it
uses 64-bit precision.