Allow it to be built with lang/abcl. Remove build dependency on lang/sbcl if bootstrapping. Changes since version 1.5.7 New in version 2.0.7 * minor incompatible change: SB-THREAD:THREAD-OS-TID returns NIL for a thread which has exited. * minor incompatible change: OPEN no longer calls TRUENAME implicitly on a string filespec prior to issuing an open() system call. * minor incompatible change: PATHNAME is no longer a STRUCTURE-OBJECT. * documentation: HASH-FUNCTION is a function designator. (#1888028, reported by Jacek Zlydach) * bug fix: eliminated a potential garbage-collector deadlock when linking with TCMalloc. * bug fix: foreign threads (those not made by SB-THREAD:MAKE-THREAD) can not crash with a "GC_PENDING, but why?" error when returning back from Lisp into the foreign caller. * bug fix: sb-fasteval crashed trying to install a JIT-compiled DEFSTRUCT accessor in a locked package. * bug fix: removed misuse of putwc() which caused stdio streams to drop characters. * bug fix: the "maximum interrupt nesting depth exceeded" error generated in the C runtime is significantly less likely to occur. * bug fix: sb-sprof should no longer segfault from calling pthread_kill() on a nonexistent thread. * bug fix: a portability issue arising from various build hosts (#1886255, reported by Pierre Neidhart) * bug fix: spurious compiler warnings from REDUCE with :INITIAL-VALUE. (#1885515, reported by Michael South) * bug fix: an inconsistency between class hierarchies and the type system under some circumstances involving redefinition. (#1886397, reported by Atilla Lendvai) * bug fix: the USE-VALUE restart for OPEN on non-existent files is more likely to function as expected. (#1886587) * bug fix: various invalid inputs to ROTATE-BYTE no longer cause compiler errors. (#1887164, #1888152) * optimization: PPC64 on linux uses the __thread annotation on C variables in preference to pthread_setspecific() and pthread_getspecific(). New in version 2.0.6 * planned incompatible change: the defined symbols in the Metaobject Protocol, currently accessible from both SB-MOP and SB-PCL packages, will in a later release be no longer exported from SB-PCL. * platform support: * better support for dynamic-extent on the SPARC architecture. * bug fix for loading very large core files. * bug fix for logior and logxor on PPC64. * enhancement: EQUALP on structure instances uses code specialized to each structure type, inlining comparison of non-pointer slots. * enhancement: some standard operators, such as WITH-OUTPUT-TO-STRING and CHANGE-CLASS, have been adapted to use dynamic-extent temporary objects, and so cons less garbage on the heap. * enhancement: read tables are more space- and speed efficient * bug fix: stream conditions with dynamic-extent streams have the stream replaced by a stub. (reported by Matt Kaufmann) * bug fix: garbage collections triggered from foreign callbacks crashed. (#1884403, reported by Andrew Kent) * bug fix: compiler failure in compiling MAKE-LIST. (#1881349) * bug fix: using the debugger from frames with calls to functions with unsupplied optional arguments is less likely to cause heap corruption. (#1883745) New in version 2.0.5 * platform support: * experimental support for ARM32 and ARM64 on OpenBSD * better musl libc support. (#1768368, thanks to Eric Timmons) * more correct use of futexes on 64-bit Linux. (#1876825, reported by Ilya Perminov) * restore building on current Solaris. (#1881393, thanks to Shawn Ellis) * enhancement: CMUCL-style START-BLOCK and END-BLOCK declarations are now supported for block compiling forms at a sub-file granularity. * enhancement: IPv6 support in sb-bsd-sockets is enabled on Windows. * minor change: *compile-print* now makes it more clear what block compilation is actually doing. The default output is now slightly more verbose as a result. * bug fix: number keys in EQUALP hash tables are correctly hashed. (#1878653, reported by Syll) * bug fix: EQness is better preserved given partial sharing of list contents in the file compiler. (#1583753, reported by Denis Budyak) * bug fix: the peephole pass neglected to preserve jump table labels. (#1876485) * bug fix: fix compiler crash in block compilation merging of toplevel lambdas. (#1865336, reported by il71) * bug fix: sb-introspect's function-lambda-arglist is better at extracting default values of nested macro arguments. (#1876194) * bug fix: RESTART-BIND's body is an implicit progn, and so does not accept declarations. (#1876303, reported by Michal Herda) * optimization: EQUAL hash tables with keys involving structure-objects will have fewer systematic collisions. New in version 2.0.4 * platform support: * 32-bit RISC-V is now fully supported. Unlike other ports, its backend is entirely shared with 64-bit RISC-V. * native threads are now supported on RISC-V. * fix and add some x86-64 vector instructions. (reported by Shubhamkar Ayare) * improve pointer representation on ppc64 for low-level performance improvement. * threads are more stable on big-endian ppc64 * enhancement: forward-referenced type tests can now be open-coded by using block compilation. The result is that mutually referential defstructs are now efficiently compiled in block compilation mode, superseding a lighter mechanism that worked in fewer contexts. However, that lighter mechanism has been removed, so for now, users who want to efficiently compile mutually referential defstructs must explicitly opt-in using block compilation. * bug fix: defstructs with empty initforms in the sbcl source are now explicitly intiialized with NIL, as that is undefined behavior under ANSI. This helps cross compilation hosts which do not implicitly initialize empty initform slots to NIL. (Thanks to Karsten Poeck) * bug fix: backtracing through assembly routines now works properly on RISC-V. * bug fix: ASH no longer gets miscompiled in certain edge cases on RISC-V. * bug fix: &MORE args have been slightly optimized and are more correct on RISC-V. * bug fix: unused local functions with &REST/&KEY/&OPTIONAL now also issue a deletion note. * bug fix: APPLY on a large list ("large" being in excess of 2k to 16k items depending on the platform) can no longer crash the gencgc collector. * bug fix: sb-concurrency FRLOCK algorithm has been corrected. (#1087955) * bug fix: block compilation now respects inlining declarations better (like CMUCL). * optimization: hashing of structures with raw slots for EQUALP hash tables has been improved. New in version 2.0.3 * incompatible change: the external format now defaults to UTF-8 and is not affected by LANG. SB-EXT:*DEFAULT-EXTERNAL-FORMAT* is now the only way to change it. * minor incompatible change: the undocumented :EPHEMERAL argument to MAKE-THREAD has been removed. * minor incompatible change: DECLARE type testing of structure types when the SAFETY optimization quality is less than SPEED (but greater than 0) is precise, rather than merely testing that an object is a (general) STRUCTURE-OBJECT. * platform support * respect sunos platform assembler flag handling * riscv architecture can be detected during the build * enabled the sb-dynamic-core feature on riscv, sparc, and made it unconditional everywhere * cheneygc is an option for arm and arm64 * enhancement: the installed sbcl executable tree can be renamed or moved without risk of incorrectly referencing a '.core' file from an obsolete path. (#666086) * optimization: transform (values-list (list one-item)) to (values one-item) as multiple items were already recognized. New in version 2.0.2 * new feature: CMUCL-style block compilation support has been added, allowing whole program optimization. It has been documented in a new section of the manual entitled "Advanced Compiler Use and Efficiency Hints". In particular, users of block compilation will find a large speedup for numerical code, as functions which call or return floating point values will keep everything unboxed. * bug fix: in CHANGE-CLASS, handle non-standard slot-value-using-class for :INSTANCE and :CLASS slots better. (reported by Shinmera on #sbcl) * bug fix: REMHASH in an EQUAL or EQUALP hash-table works correctly on a key for which EQUAL (respectively EQUALP) is reduced to EQ. (#1865094) * bug fix: do not emit a warning for DEFCLASS slots with mismatched :TYPE and :INITFORM when the class has a non-standard metaclass. * bug fix: DISASSEMBLE on SPARC is less likely to spuriously annotate code sequences as error traps. New in version 2.0.1 * minor incompatible change: some symbols have been removed from *FEATURES* based on a determination of which should be impermissible to examine via #+ and #- reader macros in user-written code. * optimization: DEFSTRUCT copiers including COPY-STRUCTURE are able to stack-allocate the result when declared dynamic-extent. * bug fix: loop analysis code more robust. In particular, loop nesting depth is computed more accurately, improving the register allocation around loops. New in version 2.0.0 * minor incompatible change: heap relocation now works on Windows. Since this feature now works on all platforms, it is enabled unconditionally and the :RELOCATABLE-HEAP symbol no longer appears on *FEATURES* in any builds. (Thanks to Luís Borges de Oliveira) * enhancement: malformed type specifiers and occurrences of deprecated types in :TYPE initargs of DEFCLASS and DEFINE-CONDITION slot specifications are detected and result in compile-time errors and warnings respectively. * enhancement: parallel contrib building, controlled by SBCL_MAKE_JOBS=-jX the same as for the C runtime. * bug fix: add a walker template for WITH-SOURCE-FORM. * bug fix: start the summary of a compilation unit on a fresh line. (Thanks to Zach Beane) * bug fix: on Windows, PARSE-NATIVE-NAMESTRING produces an absolute directory when parsing a bare drive name and :AS-DIRECTORY is specified. (Thanks to Luís Borges de Oliveira) * bug fix: on RISCV, the runtime is linked with libz if the core compression feature is requested. (Thanks to Andreas Schwab) * bug fix: ADJOIN using an EQL test and a KEY function only transforms into an EQ test if the key function returns values for which EQ and EQL are guaranteed to be the same. * optimizations: * the instruction sequence for multiple-value calls is more efficient on x86-64. * the direction flag is now unused on x86 and x86-64 when handling an unknown number of return values. (Thanks to Fanael Linithien) * the x86-64 backend is better able to use memory operands for arithmetic operations. * compilation of TYPECASE to a jump table is enabled when all the types being tested are frozen. * compilation of CASE and ECASE into a jump table has been implemented on 32- and 64-bit powerpc platforms. * the implementation of Unicode normalization has been sped up. * pretty-printing dispatch on conses is faster, particularly with the standard pretty-print dispatch table. Deeply-nested forms should also pretty-print faster. New in version 1.5.9 * platform support: * a message intended to be more helpful will be displayed for an mmap failure on OpenBSD. * the soft-float ABI on ARM32 is better supported, in particular in returning double floats from calls into C. * optimizations: * CASE and ECASE with symbols as keys may be optimized into a vector lookup if all result forms are quoted or self-evaluating objects. * CASE and ECASE can be optimized into a jump table on the x86[-64] backends with arbitrary result forms provided that the clause keys are either all fixnums, all characters, or all symbols. * a number of forms are converted to use CASE in circumstances where that makes sense, including calls to POSITION, MEMQ and MEMBER, and TYPECASE where the types are MEMBER/EQL types. * POSITION of a variable symbol in a constant sequence of symbols is converted to CASE and thence to a jump table. * TYPECASE of a variable where the clauses are member types is converted to CASE and thence to a jump table. * a number of slow instructions are no longer used on x86 and x86-64 machines. (Thanks to Fanael Linithien) * the compiler is better at tracking the implications of branches after EQ and EQL tests. * parsing &KEY lists is slightly less register-intensive. * a pattern-based peephole optimizer pass has been added, running some simple transformations on the x86-64 backend. * enhancements: more thorough compile-time type checking of various initforms (defclass, &key, defstruct). * bug fix: unions of complicated CONS types are less likely to cause an infinite loop. (#1799719) * bug fix: DESCRIBE on functions not named by extended function designators no longer signals a type error. (#1850531, reported by Michal Herda) New in version 1.5.8 * platform support: * support for Mac OS X Catalina * improvements in interoperability with C code compiled with memory sanitization options * libsbcl.so links to zlib when sb-core-compression is enabled. (#1845763, thanks to Juan M. Bello-Rivas) * workarounds for BSD issues around mmap() and pthread_attr_setstack(). (#1845936) support SSE for bzero if available on OpenBSD * optimizations: * improved type understanding and translations for division operators (including TRUNCATE, GCD, LCM). * sequential comparisons and branches can elide intermediate comparisons. (#1847284) * convert EQUAL and EQUALP to EQL if either of the arguments is a type for which the structural equality predicate is identical to the simpler equality check. (#1848583) * internal operators implementing string comparisons produce simpler-to-consume values. (#1848776) * bug fix: inspecting adjustable arrays and vectors with fill pointers works better. (#1846191, reported by Yves Pagani)
13 lines
398 B
Bash
13 lines
398 B
Bash
$NetBSD: patch-slam.sh,v 1.2 2020/08/10 23:18:52 rjs Exp $
|
|
|
|
--- slam.sh.orig 2020-07-30 19:30:02.000000000 +0000
|
|
+++ slam.sh
|
|
@@ -65,7 +65,7 @@ set -e
|
|
#######################################################################
|
|
|
|
warm_option=""
|
|
-if [ "$1" == --load -o "$1" == --load-with-sb-devel ]; then
|
|
+if [ "$1" = --load -o "$1" = --load-with-sb-devel ]; then
|
|
warm_option="$1"
|
|
shift
|
|
fi
|