pkgsrc changes:
* "user-destdir" is default these days, remove setting.
Changes in sbcl-1.1.0 relative to sbcl-1.0.58:
* enhancement: New variable, sb-ext:*disassemble-annotate* for controlling
source annotation of DISASSEMBLE output. Defaults to T.
* enhancement: TIMEOUT arguments added to WITH-MUTEX and WITH-RECURSIVE-LOCK, and
WAIT-P argument added to WITH-RECURSIVE-LOCK.
* enhancement: SB-EXT:ATOMIC-PUSH and SB-EXT:ATOMIC-POP allow atomic operations
on list heads.
* enhancement: Optional features (not enabled by default) allow the
use of signals for inter-thread synchronization to be reduced on certain
supported platforms (currently Linux, Solaris, and FreeBSD on x86 and
x86-64). Set (and :sb-thread :sb-safepoint :sb-thruption :sb-wtimer)
to test these experimental features. Known remaining bugs include minor
thread safety issues, less timely freeing of memory by GC, and certain
(not yet optimally low) runtime overhead. Thanks to Anton Kovalenko.
* optimization: CL:SORT and CL:STABLE-SORT of lists are faster and use fewer
comparisons, particularly on almost-sorted inputs.
* bug fix: Reading floats with large exponents no longer takes too much time
before reporting that the exponent is too large.
* bug fix: SB-BSD-SOCKETS:SOCKET-RECEIVE with a UDP socket now works
correctly when the received datagram is larger than the provided buffer.
(lp#1023438, thanks to Robert Uhl)
* bug fix: SB-EXT:GET-CAS-EXPANSION returned a bogus read-form when given
a SYMBOL-VALUE form with a constant symbol argument.
* bug fix: SB-EXT:GET-CAS-EXPANSION signaled an error when a macro expanding
into a DEFCAS defined place was used as the place.
* bug fix: FIND and POSITION signaled a type-error when non-bits where looked
for from bit-vectors.
* bug fix: a race condition around thread creation could (in SBCL 1.0.57)
lead to internal errors or crashes (lp#1058799).
* documentation: a section on random number generation has been added to the
manual. (lp#656839)
The GCC projected released version 4.7.2 on 20 September. There were few
diff changes (only core and ada) between it and version 4.7.1, so it's a
straightforward update.
Release announcement: http://gcc.gnu.org/ml/gcc/2012-09/msg00181.html
Notable Excerpts:
GCC 4.7.2 is the first bug-fix release containing important fixes for
regressions and serious bugs in GCC 4.7.1 with over 70 bugs fixed since
the previous release
A notable change in GCC 4.7.2 compared to 4.7.1 are ABI bug fixes
related to some C++11 templates (std::list and std::pair). As a result,
code using those templates in C++11 mode is again ABI compatible with
code in C++03/C++98 mode or C++11 mode of GCC 4.6 and earlier, but might
be ABI incompatible with code compiled by GCC 4.7.1 or 4.7.0 in C++11
mode.
---
otcl-1.14 Released Sat Oct 29 2011
(Major change is to update for tcl-8.5 changes, contributed from Amir
Habibi (habibi@uci.edu)) TCL 8.5.3 has several fundamental internal and
API changes that render OTCL's use of its low level data structures and
API syntactically and semnatically incompatible. The major changes are:
* Variables are kept in a new internal hashtable type named
VarInHash. Majority of hashtable API functions do not take this
into consideration and lead to segmentation faults. Unfortunately
majority of the potential API functions are defined as static in
original TCL code under generic/tclVar.c and we have to redefine
them in OTCL code.
CallFrame.varTablePtr doesn't any longer refer to a string based
hashtable. The new type is TclVarHashtable that encapsulates a
VarInHash type hashtable (table) along with a namespace
(nsPtr). It doesn't need to be initialized as TCL engin will
allocate it if a local variable is to be defined.
+ Commands are parsed into object-based and string-based
functions in Tcl_CmdInfo and clientData is not any longer
guaranteed to be iof (Proc *) type.
Changes made in otcl1-13 to make it compatible with TCL 8.5.3 and
hopefully later versions are as follows: (Referenced line numbers
are with regards to the new version)
+ 0059-0064: Modified to reflect the change in the CallFrame. it
also defines TCL_VERSION_8_5_OR_HIGHER to simplify changes.
+ 0069-0083: Define few Tcl_xxx macros to make the changes as
clean as possible. These macros are defined for pre and post
TCL 8.5.3
+ 0587-0597: AddMethod is supposed to keep a copy of a
Tcl_CmdInfo data structure after TCL engine has parsed the tcl
code. ocd input argument is addded to the prototype to deal
with object-based ClientData or the (Proc *) of the tcl
procedure. For internal Object and Class objects only
string-based information is needed by OTCL. Based on this
change, calls to AddMethod in the following lines are
modified: 1418-1423, 1845-1849, 1945, 1954
+ 0609-0612: Apparently TCL calls the delete function on the
Tcl_CmdInfo and we don't need to call it again otherwise glibc
panics b/c of double free call on the same pointer. (I didn't
dig into this one and my fix may cause a memory leak)
+ 0732-0737: ListKeys is used for dumping keys in all hashtables
and since the variables has is no longer a string hash, this
functions is slightly modified to reflect this change. Since
TCL doesn't make VarHash related functions available to
public, we can't automatically recognize a VarInHash type and
I resorted to adding a new input argument, isVarHash, to
explicitly pass the flag to this function. Based on this
change, calls to Listkeys in the following lines are modified:
1372, 1388, 1804
+ 0784: Modified to reflect object-based versus string-based
functions use of clientData and objClientData in Tcl_CmdInfo
respectively.
+ 0920: VarTablePtr doesn't need to be initialized in TCL 8.5.3
and the call to Tcl_InitHashTable for older versions is added
to Tcl_VarHashInitilize macro.
+ 0949-0952: Modified to initialize additional fields in
CallFrame.
+ 1004: Modified to cover the cases where varTablePtr remains
null during the lifetime of the object.
+ 1008-1015: Modified to reflect changes in varTablePtr
+ 1021-1035: This block of code is no longer needed as in TCL
8.5.3 hPtr is removed Var structure and instead VarInHash
encapsualtes Var and Tcl_HashEntry. (This may need further
investigation !!!)
+ 1036-137: Modified to cover the cases where varTablePtr
remains null during the lifetime of the object.
+ 1069-1071: Modified to use macros that deal with different
ways of initialization of varTablePtr in TCL 8.5.3 and older
versions.
+ 1208-1210: Modified to use macros that deal with different
ways of initialization of varTablePtr in TCL 8.5.3 and older
versions.
+ 1211: Modified to clarify the assignment. This is not related
to changes for TCL 8.5.3
directory name used the new GCC_TARGET_MACHINE build define which is
${MACHINE_GNU_PLATFORM} by default and already used in
gcc47-libs/buildlink3.mk.
s/${TARGET_TRIPLE}/${GCC_TARGET_MACHINE}/
Note that because the default for GCC_TARGET_MACHINE _should_ be the
same as the 'gcc -dumpmachine' output theres no need for a revbump.
is the minimum version for gcc47 and gcc47-libs.
Remove BUILDLINK_ABI_DEPENDS.gcc47-libs as its now redundant.
This fixes the case where USE_PKGSRC_GCC_RUNTIME=yes and gcc-aux is needed
(In that case _GCC_REQD is 20120614, the version number of gcc-aux) as
pointed out by Jonathan Perkin.
Although Ruby 1.9.2 is still supported version, Ruby 1.9.3 has enough
compatibility for pkgsrc's packages and migration terms on pkgsrc now
ended.
And it costs to supporing multiple versions of Ruby along with multiple
versions of Ruby on Rails, too.
Although Ruby 1.9.2 is still supported version, Ruby 1.9.3 has enough
compatibility for pkgsrc's packages and migration terms on pkgsrc now
ended.
And it costs to supporing multiple versions of Ruby along with multiple
versions of Ruby on Rails, too.
Admittedly most of this cleanup is petty cosmetic stuff, but there are
so many warnings that real problems are obscured such as the direct use
of $LOCALBASE. Also the use of parentheses instead of curly braces
caused several fake errors about not finding patches.
Admittedly most of this cleanup is petty cosmetic stuff, but there are
so many warnings that real problems are obscured such as:
* refering jpeg buildlink directly
* using $LOCALBASE directly
LDFLAGS.DragonFly+= -rdynamic
Add four patches to support DragonFly:
* Teach configuration about DragonFly
* Add DragonFly to BSD signal handler code
* Fix mbsrtowcs conftest segfault of configure script
* Fix cast on string.c
Patches contributed by:
Chris Turner
Jelle Hermsen
Patches will be submitted upstream.
Revbump due to possible change due to result of mbstrowcs test.
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.
The primary difference between this compiler package and lang/gcc47 is
that lang/gcc-aux supports the Ada language. Additionally, it is
intended that the USE_LANGUAGES makefile variable whill be extended to
recognize "ada" as a valid language, and that specifying it will cause
lang/gcc-aux to be used to build the package.
All current Ada-based packages will be modified to build with
USE_LANGUAGES+= ada rather than specifying a dependency on lang/gnat-aux,
the other Ada-capable compiler in pkgsrc based on gcc-4.6.3.
lang/gcc-aux supports C, C++, Objective-C, Fortran, and Ada by default,
but the latter four languages can be disabled via the options framework.
The three non-default options are "nls", "testsuite" and "static" which
enable Native Language Support, languages tests, and building the compiler
statically.
The "static" option is unalterably enabled for NetBSD in order to use dl_iterate_phdr error handling on NetBSD 6. On the NetBSD 6 beta builds,
exceptions won't unwind properly with the libgcc_s shared library, and
the issue seems to be external to gcc-aux. It's hoped the libgcc_s
exception handling works on NetBSD 5.x series as dl_iterate_phdr isn't
supported by rtld there, but gcc-aux hasn't been tested on 5.x yet.
lang/gcc-aux can be built by 5 platforms currently: NetBSD i386/x86_64,
DragonFly i386/x86_64, and OpenSolaris i386. New platform support
requires new bootstraps. FreeBSD i386/x86_64 could be added easily as
bootstrap compilers are available for FreeBSD ports lang/gnat-aux.
OpenBSD bootstrap compilers have been built but never used, but further
patches are on a couple of gcc's configuration files are needed as well
as testing to provide OpenBSD support.
All five platforms pass all tests (over 3200) in the Ada testsuite.
See http://gcc.gnu.org/gcc-4.7/changes.html
for more information about improvements over the GCC 4.6 series.
Pkgsrc changes:
* Remove patch-ak, as the fix is now adopted upstream.
Upstream changes:
- Core
+ Winxed snapshot updated to 1.7.0
+ Add type introspection to lexical variables.
+ New 'tools/release/parrot_github_release.pl' script to automate
updates to the 'parrot.github.com' and 'parrot-docsx' repositories.
+ Numerous casting and consting fixes thanks to GCC 4.8.
- Documentation
+ Updated 'docs/projects/release_manager_guide.pod'
+ Updated 'docs/projects/release_parrot_github_guide.pod'
+ Improved function documentation.
- Tests
- Community
- Platforms
+ Fixed alignment issues on ia64, sparc and mipsel.
+ Fixed a platform-specific issue with dlclose().
ECL 12.2.1:
===========
* Bugs fixed:
- Fixed several dozens of typos.
- ENSURE-DIRECTORIES-EXIST did not work properly with logical pathnames.
- EXT:SET-LIMIT with option EXT:FRAME-STACK corrupted the frame stack.
- The array of boot-time symbols is fixed and independent of the features
that are compiled in. This is essential for cross-compilation and also
for sharing C code among different builds.
- Fixed externalization of bytecodes with literals that need MAKE-LOAD-FORM.
- When parsing a floating point number at least one digit should be
present. ECL parsed +.e0 as +0.0e0, instead of as a symbol.
- For OS X Lion we need a newer version of the garbage collector. Since the
maintainers' advise is that we use the unstable tree, we have made a copy
and use it _only_ for this port (src/gc-unstable).
* Visible changes:
- When printing error messages, the condition type is shown (M. Mondor)
- SI:TOP-LEVEL, when invoked without arguments, does not process the
command line.
- The command line used by EXT:PROCESS-COMMAND-ARGS is now by default
the one stored in *COMMAND-ARGS*, and this may be "cleared" by the
user.
- SOCKET-MAKE-STREAM now accepts an :ELEMENT-TYPE argument.
- When --enable-rpath is used in combination with --with-gmp-prefix, then the
path of the GMP library is hardcoded into ECL. If the remaining libraries
(GC, libffi) are in a similar location this will make ECL work without
further flags, and without modifying LD_LIBRARY_PATH or DYLD_LIBRARY_PATH.
- All arguments after the '--' command line option are stored in a global
variable, ext:*unprocessed-ecl-command-args*.
- In the rules passed to ext:process-command-args, :stop now implies that all
remaining arguments including the current one are collected and passed to
the rule code. An example of use of this option
;; Collect all arguments _after_ the command line option --
("--" 1 (setf ext:*unprocessed-ecl-command-args* (rest 1)) :stop)
;; Collect all arguments including the first unknown one
("*DEFAULTS*" 1 (setf ext:*unprocessed-ecl-command-args* 1) :stop)
- ECL will always build, by default, with support for Unicode strings.
- EXT:GETENV coerces its input argument to type BASE-STRING.
- The garbage collector would reset the counters on every call to
SI:GC-STATS. This made nested TIME calls not to work, as the statistics of
the inner call would spoil those of the outer one. This has been fixed.
- ECL implements CDR 6 (ext:*inspector-hook*) as described in
http://cdr.eurolisp.org/document/6/index.html
- ECL implements CDR 5 (Sub-interval Numerical Types) as described in
http://cdr.eurolisp.org/document/5/index.html
- ECL ships libffi together with its source tree, much like GMP and GC.
- On POSIX platforms ECL traps SIGCHLD and uses it to update the status of
external processes.
- DIRECTORY accepts the keyword argument :RESOLVE-SYMLINKS.
- Compiling files now generates C headers with the extension "eclh". This
is done to avoid accidentally generating header files with the same name
as those in the C library. Take for instance, float.lsp -> float.h.
- ECL no longer relies on "git" being installed to gather the git commit id
and setting (ext:lisp-implementation-vcs-id).
- When building shared and statically linked libraries, ECL creates an
extra function that performs two tasks: initializing ECL if it wasn't done
before, and initializing the library. This can be used to create standalone
libraries to be linked with other programs. The name of the function typically
begins with main_dll or main_lib but it is output by ECL on screen.
- Hash tables do no longer have implicit locking. All complex structures in
ECL (arrays, hash tables, objects) should be dealt with sufficient care on
the user side, just as in other programming languages, making use of
WITH-LOCK and similar facilities.
- In OPEN the default format is :UTF-8 for Unicode builds and :LATIN-1 for
others, and the stream element type is always CHARACTER by default.
- Function read_VV is renamed to ecl_init_module()
- Initialization of random number generator is done using only 16 bytes from
/dev/urandom (Phillip Marek).
- Each thread keeps a copy of the process sigmask (POSIX) and it is inherited
by children thread. The sigmask can be manipulated by the function
EXT:CATCH-SIGNAL which has the signature
(ext:catch-signal signal-code action &key process)
The ACTION is one of :IGNORE, :DEFAULT, :CATCH, determining what ECL does
when it receives the signal, or it can be :MASK/:UNMASK to determine whether
the process is blocking the signal or not. The optional argument :PROCESS
only applies to :MASK/:UNMASK and it can be the current process, some
process that has not been activated or any other value (indicating that
the function has a global effect, as sigprocmask).
- Allocate executable memory using libffi instead of using just the
Boehm-Weiser garbage collector.
- In bytecodes.h, deactivate the threaded interpreter when using the LLVM
compiler. The problem is that llvm-gcc disguises itself as GCC but it is
not capable of properly compiling the jump table.
- Implemented SEQUENCE-STREAMs, which are input/output streams defined on some
specialized array type. The functions to create them are
(ext:make-sequence-input-stream vector &key :start :end :external-format)
(ext:make-sequence-output-stream vector &key :external-format)
* If the array is a string, it is a character stream.
- When no external format is supplied, it defaults to the usual encoding
and the stream behaves like a string stream.
- When an external format is supplied, each character in the string
is interpreted as a single byte and used for that external format.
* If the array is specialized over integers and EXTERNAL-FORMAT is NIL
the stream is a binary stream.
* Otherwise, it is a binary string but READ/WRITE-CHAR may be used on it.
Reading and writing does not preserve the original word size of the array
but rather threads the array as a collection of bytes (octets), writing
sequentially over it. Thus, if you use encodings such as UCS2 and UCS4, make
sure that you choose the right endianness to match the shape of the array.
- DELETE-FILE works on empty directories.
- In DIRECTORY, :RESOLVE-SYMLINKS defaults to T.
- Added POSIX function (EXT:CHMOD filename mode)
- ECL's compiler is now less verbose and hides performance notes, as well as
invocations of the C compiler. This can be modfied by changing the type
specifier in c:*suppress-compiler-messages*.
- Hash tables can now be printed readably when *READ-EVAL* is true. This is
done using two new functions, EXT:HASH-TABLE-CONTENT and
EXT:HASH-TABLE-FILL.
- When a compiler macro fails, ECL simply ignores the errors and
continues. This is more to the spirit of the compiler macros, as explained
here http://lists.common-lisp.net/pipermail/pro/2011-December/000675.html
- INLINE declarations now actually cause the function to be inlined. If
the function is also proclaimed as INLINE, ECL will store a copy of its
definition for later use _in other files_. Otherwise INLINE declarations
remain local to the file being processed.
- ECL now implements weak hash tables. They are built as ordinary hash tables
with an extra argument, :WEAKNESS, which may be :KEY, :VALUE,
:KEY-AND-VALUE, or NIL, for the default behavior. The status of the hash
table is returned by EXT:HASH-TABLE-WEAKNESS. Note that these associations
are no substitute for proper management of resources, as the time of
collection can not be guaranteed.
- In pathnames, ".." is translated to :UP, not :BACK.
- ECL introduces two special forms, EXT:CHECKED-VALUE and EXT:TRULY-THE, which
have the same syntax as THE, but in the first case lead to a type assertion
at low safety levels and in the second case lead to an unchecked
declaration. By default THE maps to EXT:CHECKED-VALUE (as in SBCL), but this
may be controlled globally using the declaration/proclamation
EXT:THE-IS-CHECKED.
- Unicode strings were not properly saved in C compiled code.
Upstream changes:
- API Changes
+ The signature of getprop was changed from (PMC,String,PMC) to
(PMC, PMC,String) for consistency
- Core
+ Parrot Calling Conventions (pcc) now reuses Continuation PMCs
internally, which reduces GC work by 25% and improves
the fib.pir benchmark by 6%
+ Winxed snapshot updated to 1.6.devel 44a04cfa7b
+ Improved the detection of Clang-ish compilers during configuration
+ Fixed a possible segfault bug when reading packfiles with no
constants or main_sub
+ By default, Parrot has now elevated these GCC warnings to errors
during compile time:
implicit-function-declaration, undef, missing-braces,
nested externs, old-style-definition, strict-prototypes,
+ The OS Dynamic PMC now has separate functions to unlink a file
and remove an empty directory (rmdir)
+ Fix building on Cygwin due to an improperly named DLL file
+ Various small bug fixes pointed out by static and dynamic analysis
tools
- Branches
+ Work on M0 continues now in the m0 branch, which contains both
implementations (currently C and Perl) and specification.
+ Good progress has been made on the threads branch which builds
on the green_threads branch. This gets Parrot much closer to
being able to utilize multiple CPU cores seemlessly. More details
at http://niner.name/Hybrid_Threads_for_the_Parrot_VM.pdf
- Documentation
+ New release manager documentation for parrot.github.com :
http://git.io/parrot-github-guide
- Community
+ Parrot was accepted to Google Summer of Code 2012!
Ideas Page: http://git.io/parrot-gsoc-2012
GCC47 was marked NOT-FOR-DRAGONFLY, so support has been added.
* DragonFly-specific files added via patch mechanism
* Some existing patches modified to add DragonFly configuration items
* dl_iterate_phdr error handling support added (FreeBSD support was altered,
NetBSD and OpenBSD support is commented out)
* The java language is taken off as a default option
On the i386 platform, the compiler will build from a full bootstrap, but
one of the later stages fails on x86_64. It fails to find libstdc++.so.6
even though the previous stage library was built and -B, -L flags point
to it. The cause of the platform-specific build failure isn't clear --
The workaround is to disable the bootstrap on DragonFly so that the compiler
is built in one stage instead of three. This workaround could have been
limited to the x86_64-DragonFly platform only, but currently is applied to
i386-DragonFly too.
Solaris build. While here, stop stuffing pointers in ints on 64-bit
platforms (other than Alpha, which it already knew about) and therefore
bump PKGREVISION to 1.
In terms of the core YAP, most changes are small bug fixes. They include
- better support for 64 bits in win64,
- some fixes to the garbage collector
- OSX Lion compilation
- wide char support
- bug in copy_term when some variables have attributes
- fixes to lam interface
- C-interface and SWI support
- over-optimisation of =/2.
- arithmetic exceptions
- write_canonical (Ulrich)
- retracting may not follow lu semantics
- minor predicate import bug.
There has been a lot of progress in ProbLog and cplint.
* PHP_VERSION_DEFAULT, PHP_VERSIONS_ACCEPTED, PKG_PHP_VERSION now
don't accept 5 any more but 52, 53, 54.
Each value corresponding to PHP 5.2.x, 5.3.x, 5.4.x.
* PHP_PKG_PREFIX might be "php54".
* phpversion.mk defines PHP_BASE_VERS.
* phpversion.mk defines each PHP's exact version for now.
TODO:
php{5,53,54}/Makefile.{common,php} could be arranged to some
redundant codes.
Version 5.3.14
06-June-2012
* CLI SAPI
- Fixed bug #61546 (functions related to current script failed when
chdir() in cli sapi)
* Core
- Fixed CVE-2012-2143
- Fixed bug #62005 (unexpected behavior when incrementally assigning to a
member of a null object)
- Fixed bug #61730 (Segfault from array_walk modifying an array passed by
reference)
- Fixed missing bound check in iptcparse()
- Fixed bug #61764 ('I' unpacks n as signed if n > 2^31-1 on LP64)
- Fixed bug #54197 ([PATH=] sections incompatibility with
user_ini.filename set to null)
- Fixed bug #61713 (Logic error in charset detection for htmlentities)
- Fixed bug #61991 (long overflow in realpath_cache_get())
- Changed php://fd to be available only for CLI.
* CURL
- Fixed bug #61948 (CURLOPT_COOKIEFILE '' raises open_basedir restriction)
* COM
- Fixed bug #62146 com_dotnet cannot be built shared
* Fileinfo
- Fixed bug #61812 (Uninitialised value used in libmagic)
* Iconv
- Fixed a bug that iconv extension fails to link to the correct library
when another extension makes use of a library that links to the iconv
library. See https://bugs.gentoo.org/show_bug.cgi?id=364139 for detail
* Intl
- Fixed bug #62082 (Memory corruption in internal function
get_icu_disp_value_src_php()
* JSON
- Fixed bug #61537 (json_encode() incorrectly truncates/discards
information)
* PDO
- Fixed bug #61755 (A parsing bug in the prepared statements can lead to
access violations)
* Phar
- Fixed bug #61065 (Secunia SA44335)
* Streams
- Fixed bug #61961 (file_get_contents leaks when access empty file with
maxlen set)
For Ruby on Rails component packages depends strictly on teeny version
(RUBY_RAILS_STRICT_DEP is "yes") and others depends on minor version.
Fix some none-component packages which accidently depends strictly.
PR 46532 by Wen Heping.
While here, set LICENSE.
Version 2.762 (September 16, 2005)
- Swapped the precedence of unary minus and exponentiation to
follow the mainstream of programming languages. Suggested
by Mike Hoffman.
- Fixed a bug with drawing the outline of a triangle.
- Lots bugs and typos fixed in the docu. Thanx to A. Costa !
- rinstr() is okay again.
- system$() may not dump any longer, if an external command returns no output.
- Some improvements for compiling on FreeBSD.
- Made the text-command working again.
- Maybe yabasic does not leak resources under Windows 95 any longer.
- Some fixes related with the console window under Windows
- Added a list of reserved words to the documentation.
- Special thanks to Derek and Mike Huffmann !
Version 2.76 (April 25, 2005)
Some major improvements for grafics
- Full color support !
- Different fonts for the text-command
- The new command triangle
Version 2.75 (May 19, 2004)
- Yabasic finally has an Icon under Windows
- The str$()-function, may now format numbers
like 123,456.56 (or 123.456,56 for german conventions)
- Changed the system()-function under Windows
to use the right command-processor
- Added a list of command, grouped by topics to the
documentation
- Yellow is no longer brown under windows
- Removed a security problem related with printing
under Unix
- Programs, that import libraries can now be
bound, including all the imported libraries
Version 2.740 (January 18, 2003)
- Implemented the bind-feature
- More verbose messages on failing open-calls
Version 2.730 (August 19, 2003)
- Complete rewrite of the documentation
- Updated my system, which introduced new
versions of the toolchain (gcc, autoconf, ...)
- No changes in yabasic itself
Changes are:
+ Bug fixes:
o If DESTDIR was set and the platform didn't have previous Gauche
installed, make install failed saying something like
"libgauche-0.9.so.0.3: cannot open shared object file: No such file
or directory". The order of installation was adjusted to avoid it.
o On FreeBSD, a bug in signal setup routine caused memory corruption.
o every with more than one argument list didn't return the last
return value of the predicate when all the arguments satisfied it,
as specified in srfi-1 (it returned #t instead). It was also the
case in stream-every. Both are fixed.
o On MinGW, info command didn't work.
o On MinGW, when you used non-console version gosh-noconsole.exe and
tried to spawn a child process to communicate via pipes,
gosh-noconsole.exe just died.
+ Improvements:
o New procedure: string-scan-right
o GC is now 7.2b
Changes from 4.0.0 to 4.0.1
---------------------------
1. The default handling of backslash in sub() and gsub() has been reverted to
the behavior of 3.1. It was silly to think I could break compatibility that
way, even for standards compliance.
2. Completed the implementation of Rational Range Interpretation.
3. Failure to get the group set is no longer a fatal error.
4. Lots of minor bugs fixed and portability clean-ups along the way. See
the ChangeLog for details.
For some reason, LLVM is using autoconf files from 2003 which is before
DragonFly even existed. I submitted a bug report #12944 at llvm.org's
bugzilla to request they use versions from 2012.
Also, installation fails at document generation without some extra tools.
No need to revbump, either built or it didn't without these packages.
Changes since 3.2.6:
3.2.10 * add patch Finn Wilcox finnw
ocstring cannot concat: or at:insert: itself - ID: 1640788
* port to OpenSolaris 09/06 with Sun C 5.10 SunOS_i386 2009/06/03
* updated email address in indent-patch
3.2.9 * add OpenSolaris (solaris 2.11) to Platforms
* change __builtin_va_alist to builtinvar for OpenSolaris
3.2.8 * add __builtin_expect, __builtin_strchr and more garbage for gcc 3.4.6
__builtin_cmp (GCC developers seem to believe they're using PASCAL)
* regenerated configure with autoconf 2.6
* upgraded config.guess and config.sub to automake 1.9
* add NIOS2 sopc to platforms (port by lionnel@ipricot.com)
* rebuilt bootstrap package
* upgraded nm objc1 | postlink >util/_objc1.c
3.2.7 * fix for -builtintype and -builtinfunction broken
(pragma OCbuiltInFctn and OCbuiltInType still worked)
* port to IA-64 hpux 11.23 with HP aC++/ANSI C (add to platforms)
* add -hpux flag with some builtins: __va_list__, __va_arg__,
__va_start__, __fpreg and __float80
changes in sbcl-1.0.57 relative to sbcl-1.0.56:
* RANDOM enhancements and bug fixes:
** bug fix: the range and distribution of random integers could be
catastrophically wrong when the compiler derived the type of its
argument as a disjoint set of small integers.
** bug fix: the distribution of random integers is now completely
uniform even when the specified limit is not a power of two.
(Previously some values could be about 0.1 % more probable than
others in the worst case.)
** RANDOM on large integer arguments is generally faster and conses
less than before; this is visible for fixnums above a length of
about 24 bits, but extremely so for bignums: the old implementation
used time and space quadratical in the size of the argument there,
the new one is linear.
* enhancement: redesigned protocol for quitting SBCL. SB-EXT:EXIT is the new
main entry point, SB-EXT:QUIT is deprecated.
* enhancement: additions to the SB-THREAD API: RETURN-FROM-THREAD,
ABORT-THREAD, MAIN-THREAD-P, and MAIN-THREAD.
* enhancement: FASL loading no longer grabs the world-lock.
* enhancement: GENCGC reclaims space more aggressively when objects being
allocated are a large fraction of the total available heap space.
(lp#936304)
* enhancement: backtraces show the correct number of arguments for frames
called with too many arguments.
* enhancement: support for abort(3), exit(3), and _exit(2) has been added to
SB-POSIX.
* enhancement: ASDF has been updated 2.21.
* optimization: fewer uses of full calls to signed modular functions.
(lp#903821)
* optimization: typechecking alien values is typically 5 x faster.
* optimization: FDEFINITION, SYMBOL-FUNCTION, MACRO-FUNCTION, and FBOUNDP
are 20% faster.
* bug fix: file compilation performance issues when dumping subtypes
of CHARACTER (lp#994487)
* bug fix: fixed disassembly of some SSE instructions on x86-64.
* bug fix: SB-SIMPLE-STREAMS signals an error for bogus :CLASS arguments in
OPEN. (lp#969352, thanks to Kambiz Darabi)
* bug fix: CASE normal-clauses do not allow T and OTHERWISE as keys.
(lp#959687)
* bug fix: (SETF (FIND-CLASS X) NIL) removed proper name of the underlying
classoid even if X was not the proper name of the class. (lp#941102)
* bug fix: declaration leakage between lexical environments due to careless
use of NCONC in MAKE-LEXENV. (lp#924276)
* bug fix: ENSURE-DIRECTORIES-EXIST now works when
*default-pathname-defaults* contains NAME or TYPE components.
* bug fix: PPRINT couldn't print improper lists with CARs being some symbols
from CL package, e.g. (loop . 10).
* bug fix: run-program with existent or non-existent files for :output or
:input when :if-output-exists or :if-input-does-not-exist are NIL properly
returns NIL instead of signalling an obscure error.
* bug fix: fix miscompilation of some logand forms with large constant
arguments. (lp#974406)
* bug fix: account for funcallable-instance objects properly in ROOM.
* bug fix: incorrect octets reported for c-string decoding errors.
(lp#985505)
* bug fix: miscompilation of LDB on the PowerPC platform. (thanks to Bruce
O'Neel)
* bug fix: better input error reporting for COMPILE-FILE. (lp#493380)
* bug fix: default size of non-nursery generations has been shrunk on GENCGC,
allowing faster release of memory back to the OS. (lp#991293)
* bug fix: WITH-DEADLINE (:SECONDS NIL :OVERRIDE T) now drops any
existing deadline for the dynamic scope of its body.
* bug fix: compiler-internal interval arithmetic needed to be more
conservative about open intervals when operated on by monotonic but not
strictly-monotonic functions. (lp#975528)
* bug fix: copy-tree caused stack exhaustion on long linear lists, and now
it's also slightly faster. (lp#998926)
* bug fix: better error messages for malformed declarations.
(lp#1000239)
* bug fix: define-condition didn't return the name of the defined condition.
* documentation:
** improved docstrings: REPLACE (lp#965592)
* Major New Features
- AddressSanitizer, a fast memory error detector.
- MachineInstr Bundles, Support to model instruction bundling / packing.
- ARM Integrated Assembler, A full featured assembler and direct-to-object
support for ARM.
- Basic Block Placement Probability driven basic block placement.
* LLVM IR and Core Improvements
- A new type representing 16 bit half floating point values has been added.
- IR now supports vectors of pointers, including vector GEPs.
- Module flags have been introduced. They convey information about the module
as a whole to LLVM subsystems. This is currently used to encode Objective C
ABI information.
- Loads can now have range metadata attached to them to describe the possible
values being loaded.
- The llvm.ctlz and llvm.cttz intrinsics now have an additional argument which
indicates whether the behavior of the intrinsic is undefined on a zero
input. This can be used to generate more efficient code on platforms that
only have instructions which don't return the type size when counting bits
in 0.
* Optimizer Improvements
- The loop unroll pass now is able to unroll loops with run-time trip counts.
This feature is turned off by default, and is enabled with the
-unroll-runtime flag.
- A new basic-block autovectorization pass is available. Pass -vectorize to
run this pass along with some associated post-vectorization cleanup passes.
For more information, see the EuroLLVM 2012 slides: Autovectorization with
LLVM.
- Inline cost heuristics have been completely overhauled and now closely model
constant propagation through call sites, disregard trivially dead code
costs, and can model C++ STL iterator patterns.
While here,
* register egg-info.
* add patch to enable rpath, custom post-build should not be required anymore.
Changes from 4.2.2 to 4.2.3
1) Added support for Python 3.2.
2) Added hook for datetime module which implicitly imports the time module.
3) Fixed hook for tkinter in Python 3.x.
4) Always include the zlib module since the zipimport module requires it,
even when compression is not taking place.
5) Added sample for a tkinter application.
gprolog fails to build on DragonFly-*-i386.
A fatal error (exception raised) occurs on fd2c.pl:215-220 on this
platform. The build hangs after that (halts bulk build forever),
another job apparently never exits.
Setting the package to a single job fixes the problem, so apparently
a successful build is jobs safe, but not a build failure.
OpenJDK7 wouldn't build on DragonFly for non-root users due to a conflict
with the bootstrap/LICENSE file. Both the -bin-common and the
-bin-dragonfly bootstraps contained the same file, both with 444 file
permissions. As a result, the extraction phase fails for non-root pbulk
builds and other under-privileged users.
The DragonFly bootstraps were repacked to exclude the duplicate
bootstrap/LICENSE file, and the bootstrap.mk file updated accordingly.
The new bootstraps are packed with xz, resulting in a tarball 6MB
smaller for i386.
Other changes while we're here:
1) Add LICENSE=gnu-gpl-v2
2) USE_TOOLS+= patch (pkglint complained)
3) Fix ONLY_FOR_PLATFORM triplet for DragonFly (pkglint complained)
Here is list of changes:
0.9.3.2:
Fix documentation build problem when configured to use non default
encoding.
0.9.3.1:
Fix build problem on Windows/MinGW.
0.9.3:
* New Features
o Lazy sequences: An efficient and seamless support of mixing lazy
evaluation with ordinary list procedures. Forcing delayed
evaluation is implicit, so you can pass lazy list to normal list
procedures such as car or fold. See the manual entry for the
details and examples.
o gauche.generator: A general utilities for generators, a thunk that
generates a value every time it is called. Lazy sequences are built
on top of generators. See the manual entry for the details.
o Threads are now supported on Windows/MinGW build. It is directly
based on Win32 thread API instead of pthreads; but Scheme-level
semantics are almost the same. The cond-expand conditions are
slightly modified to accomodate both thread models--- see Threads
for the details.
o add-load-path macro now accepts an optional argument to make the
given path relative to the currently loaded file. This is useful to
distribute a script accompanied with library files; for example,
specify (add-load-path "." :relative) in the script makes the
library files searched from the same directory where the script
exists. Then users can just copy the directory to anywhere and run
the script.
o A chained-application macro $: Incorporated the feature which has
been experimented as gauche.experimental.app. This macro allows (f
a b (g c d (h i j))) to be written as ($ f a b $ g c d $ h i j).
Although it is slighly longer, it is sometimes work better with
indentation of deeply nested function calls. See the manual entry
for the full explanation.
o A new gosh option -m module allows the main procedure to be
searched in the specified module instead of the default user
module. This allows a Scheme file to work both as a library module
and an executable scripts (e.g. for running tests or demos); name
the test program main but not export it, and it won't affect
ordinary module users, but you can test the module by using -m
option.
* Incompatibile Changes
o util.queue: Thread-safe queue can now be created with zero
max-length, which is handy as a synchronization device. This is an
incompatible change---previously, specyfing zero to :max-length
means unlimited queue length. (Cf: Queue of zero length
http://blog.practical-scheme.net/gauche/20110107-zero-length-queue ).
o Fixed a regexp bug in treatment of BOL/EOL assertions (^, $) within
the assetion blocks such as (?=...). Regarding BOL/EOL assertions,
these assertion blocks are treated as if they're stand-alone. The
fixed behavior is now compatible with Perl and Oniguruma. The code
that counted on the previous (buggy) behavior may break by this
change.
o Removed gauche.auxsys module. This module contained several
less-used system procedures; now they are in the core. The module
was autoloaded, so not many code should be affected by this change.
Only the code that explicitly refer to this module needs to be
changed.
* Improvements
o Many frequently-used list procedures (all of util.list, and some of
srfi-1) are now included in the core. The module util.list is no
longer needed, although it is kept just for the backward
compatibility. From srfi-1, the following procedures are now in the
core: null-list?, cons*, last, member (extended one), take, drop,
take-right, drop-right, take!, drop-right!, delete, delete!,
delete-duplicates, delete-duplicates!, assoc (extended one),
alist-copy, alist-delete, alist-delete!, any, every, filter,
filter!, remove, remove!, filter-map, fold, fold-right, find,
find-tail, split-at, split-at!, iota.
o New macros and procedures: values->list, fold-left,
regexp-num-groups, regexp-named-groups.
o New procedure applicable? can be used to check object's
applicability finer than procedure?. Related, a special class
<bottom> is added, which behaves as a subtype of any classes.
o Build process is overhauled to allow out-of-source-tree build.
o Regular expression engine is slightly improved. For example, it now
calculates the set of characters that can be a beginning of a part
of regexp, and uses it to skip the input efficiently.
o thread-terminate! now attempts to terminate the target thread
gracefully, and only tries the forceful means when the gracefull
termination fails.
o open-input-file now accepts :encoding #t argument, which tells the
procedure to use a coding-aware port. That is, it can recognize
coding: ... specification in the beginning of the file. Useful to
process source files.
o map is now restart-safe, that is, saving continuations in middle of
mapping and restarting it doesn't affect previous results. This is
required in R6RS.
o Various small improvements in the compiler and VM stack layout.
o gauche.test: test-module now checks the number of arguments given
to the global procedures. This is useful to catch careless
mistakes. In rare cases that you do intend to pass number of
arguments incompatible to the normal usage of the procedures, list
such procedures in :bypass-arity-check keyword argument (It is
possible because of the dynamic nature of the language---methods of
a different signature may be added later, for example).
o gauche.test: test-end has a keyword argument to exit with non-zero
status if test failed. New function test-summary-check exits with
non-zero status when the test record file indicates there have been
failures. Both are useful to propagate test failure to upper levels
such as continuous integration server.
o srfi-42: Support :generator qualifier to allow using generator
procedures in a sense of gauche.generator.
o file.util: touch-file and touch-files takes various keyword
arguments similar to touch(1) command.
o rfc.http: A new parameter http-proxy allows to set the default http
proxy. The https connection now uses a library bundled to Gauche,
no longer requires external stunnel command.
o GC is bumped to bdwgc 7.2-alpha6.
* Bux fixes
o Fixed an incorrect rounding bug when inexact numbers were given to
div and mod.
o Fixed another division bug in /., when both dividend and divisor
are too big to be represented by floating-point numbers.
o In quasiquote expander, unquote and unquote-splicing are recognized
hygienically.
o force is now thread-safe.
o Fixed some MT-hazards in file loading/requiring. Thanks to Kirill
Zorin for tracking those hard-to-find bugs.
o Fixed a bug that made (regexp-compile '(alt)) Bus Error.
o Fixed another regexp bug that didn't handle case-folding match
beyond ASCII range. Patch from OOHASHI Daichi.
o gauche.parameter: Accessing parameters created in unrelated threads
used to raise an error. It was annoying, since such situation could
occur inadvertently when autoload is involved. Now the parameters
work regardless of where they are created.
o rfc.json: Fixed a bug that produced incorrect JSON.
o rfc.http: Fixed the behavior of redirection for 3xx responses. You
can also customize the behavior.
o gauche.threads: Fixed a bug in thread-sleep! when passed an exact
rational number.
o util.stream: stream-count didn't work.
* Update bootstrap for i386-DragonFly
* Add bootstrap for x86_64-DragonFly
* Update patch-aa to handle missing EM_ALPHA definition (not used anyway)
* Add patch for hotspot to handle x86_64 in uname
* Update Makefile for parallel building of hotspot
* Allow platform DragonFly 3.x
Thanks for all the hard work building the bootstraps and testing:
Francois Tigeot
Chris Turner
Changes since sun-jdk6-6.0.31
- samples & demo directoryes dropped
- 3DNow Prefetch Instruction Support
- Adjust allocation prefetching for T4
- assert(VM_Version::supports_sse2()) failed: must support
- Remove hotspot assertion due to Solaris 8 kstat "unimplemented".
- ARM: SEGV on panda with linaro 3.1.1 running specjvm2008
- make the string table size configurable
- Parallel CMS fails to properly mark reference objects
- GarbageCollectorMXBean#getLastGcInfo leaks native memory
- C-heap growth issue in ThreadService::find_deadlocks_at_safepoint
- Memory leak in inferencing verifier (libverify.so)
- SA cannot open core files larger than 2GB on Linux 32-bit
- Introspector.getBeanInfo() should release some resources in timely manner
- File.setWritable() / File.canWrite() not behaving as expected
- CookieManager does not store cookies if url is read before setting cookie manager
- (so) Socket adapter need to implement sendUrgentData
- (so) Socket adpator is not synchronized on channel state
- (so) Suppress creation of SocketImpl in SocketAdaptor's constructor
- Cannot decode PublicKey (Provider SunPKCS11, curve prime256v1)
- Gervill for 6uXX (2): make Gervill the default synthesizer
- Problem with timezone in a SimpleDateFormat
- Properties.loadFromXML fails with ClassCastException
- compiler generates bad code when translating conditional expressions
- IncompatibleClassChangeError with unreferenced local class with subclass
- 32-bit JRE silent install fails on WINDOWS 2008 SERVER 64-bit under System account
- installation fails by SMS under System Account
- Separate demos from the bundles on Windows, Solaris and Linux
- DT fails to register with Chrome
- uninstall of JRE 7 with JRE 6 on the machine left 10.0.0 deployment registry key behind
- IE9 prompts to disable Java plugin because of slow start up
- Redirection of registry keys not happening correctly with old plugin
- old-plugin liveconnect missing SecureCookiePermission
- Java Plugin does not evaluate automatic proxy files correctly on Linux: always picks first proxy
- 20ms latency always observed for LiveConnect round-trip in IE
- revisit IE LiveConnect performance fix to address applet hang issue found by Citigroup
- Java Web Start 10.1.* is considerably slower than Web Start 1.4.2, using getresource() repeatedly
- Compilation of StarOffice wordml XSLT filter via XSLTC throws exception
- JDK6u18 XSLT regression: xsl:copy-of failing to copy generated attributes
- Cipher.doFinal(ByteBuffer,ByteBuffer) fails to process when in.remaining() == 0
- (was 7011759 Bug Cloned - 6u16: Recovering buffer manager read stream underflow from protocols are
- Regular unexplained npe's from corba libs after system has been running for days
- GSSAPI/SPNEGO does not work with server using MIT Kerberos library
- Incorrect SSLEngine debug output
- Npe occurs in abstractprocessor.readfromnextstructure
- SAAJ does not set correct namespace prefix and namespace URI for attributes in some circumstances.
Changes since sun-jre6-6.0.31
- 3DNow Prefetch Instruction Support
- Adjust allocation prefetching for T4
- assert(VM_Version::supports_sse2()) failed: must support
- Remove hotspot assertion due to Solaris 8 kstat "unimplemented".
- ARM: SEGV on panda with linaro 3.1.1 running specjvm2008
- make the string table size configurable
- Parallel CMS fails to properly mark reference objects
- GarbageCollectorMXBean#getLastGcInfo leaks native memory
- C-heap growth issue in ThreadService::find_deadlocks_at_safepoint
- Memory leak in inferencing verifier (libverify.so)
- SA cannot open core files larger than 2GB on Linux 32-bit
- Introspector.getBeanInfo() should release some resources in timely manner
- File.setWritable() / File.canWrite() not behaving as expected
- CookieManager does not store cookies if url is read before setting cookie manager
- (so) Socket adapter need to implement sendUrgentData
- (so) Socket adpator is not synchronized on channel state
- (so) Suppress creation of SocketImpl in SocketAdaptor's constructor
- Cannot decode PublicKey (Provider SunPKCS11, curve prime256v1)
- Gervill for 6uXX (2): make Gervill the default synthesizer
- Problem with timezone in a SimpleDateFormat
- Properties.loadFromXML fails with ClassCastException
- compiler generates bad code when translating conditional expressions
- IncompatibleClassChangeError with unreferenced local class with subclass
- 32-bit JRE silent install fails on WINDOWS 2008 SERVER 64-bit under System account
- installation fails by SMS under System Account
- Separate demos from the bundles on Windows, Solaris and Linux
- DT fails to register with Chrome
- uninstall of JRE 7 with JRE 6 on the machine left 10.0.0 deployment registry key behind
- IE9 prompts to disable Java plugin because of slow start up
- Redirection of registry keys not happening correctly with old plugin
- old-plugin liveconnect missing SecureCookiePermission
- Java Plugin does not evaluate automatic proxy files correctly on Linux: always picks first proxy
- 20ms latency always observed for LiveConnect round-trip in IE
- revisit IE LiveConnect performance fix to address applet hang issue found by Citigroup
- Java Web Start 10.1.* is considerably slower than Web Start 1.4.2, using getresource() repeatedly
- Compilation of StarOffice wordml XSLT filter via XSLTC throws exception
- JDK6u18 XSLT regression: xsl:copy-of failing to copy generated attributes
- Cipher.doFinal(ByteBuffer,ByteBuffer) fails to process when in.remaining() == 0
- (was 7011759 Bug Cloned - 6u16: Recovering buffer manager read stream underflow from protocols are
- Regular unexplained npe's from corba libs after system has been running for days
- GSSAPI/SPNEGO does not work with server using MIT Kerberos library
- Incorrect SSLEngine debug output
- Npe occurs in abstractprocessor.readfromnextstructure
- SAAJ does not set correct namespace prefix and namespace URI for attributes in some circumstances.