GCL 2.6.13 RELEASE NOTES
Greetings! The GCL team is happy to announce the release of version
2.6.13, the latest achievement in the 'stable' (as opposed to
'development') series. Please see http://www.gnu.org/software/gcl for
downloading information.
This release consolidates several years of work on GCL internals,
performance and ansi compliance.
Garbage collection has been
overhauled and significantly accelerated. Contiguous block handling
is now as fast as or perhaps faster than relblock handling, leading to
the now implemented promotion of relblock data to contiguous after a
surviving a number of gc calls. Relblock is only written once during
gc. Heap allocation is fully dynamic at runtime and controllable with
environment variables without recompilation. While SGC is supported,
it is found in practice to be less useful with modern large memory
cores and is off by default.
GCC on several platforms defaults to code which must lie within a
common 2Gb space, now an issue with heaps routinely larger than this.
Error protection for code address overflow is in place on most
machines. The variable si::*code-block-reserve* can be set to a
static array of element type 'character to preallocate a code block
early within an acceptable range. On amd64, compile-file takes a
:large-memory-model-p keyword (with
compiler::*default-large-memory-model-p*) to compile somewhat slower
code which can be loaded at an arbitrary address.
The COMMON-LISP
package is fixed to the ansi standard. A CLTL1-COMPAT package is
defined to support earlier applications, and is used in non-ansi
builds.
GCL can optionally manage a single heap load across multiple
processes via the GCL_MULTIPROCESS_MEMORY_POOL environment variable.
GCL can compile gprof profiling code in non-profiling images using the
:prof-p keyword to compile, causing
'(si::gprof-start)(...)(si::gprof-quit)' to only report calls to
such code. GCL supports riscv4, and 64bit cygwin on Windows in
addition to the previous 21 architectures. GCL has extensive support
for hardware floating point exception handling via the
#'si::break-on-floating-point-exceptions function, taking the floating
point errors as keyword arguments.
Several ANSI compliance errors
have been fixed, most particularly in pathnames and restarts.
Hashtables have been accelerated, supporting caching, static
allocation, and 'equalp tests.
Circle detection and handling has been
greatly accelerated, using the gc marking algorithm for a copy-less
implementation.
The compiler no longer writes data files reordering
"package-operations", changing the data file format to one loadable on
object file initialization.
Floating point reading and writing has
been made more precise. Inf/nan handling matches IEEE specifications.
From the git log:
- Version_2_6_13 Version_2_6_13 origin/Version_2_6_13 update minvers file
- debian version gcl-2.6.13-1
- Version_2_6_13pre origin/Version_2_6_13pre setf compiler-macro-function
- Version_2_6_13pre131 Version_2_5_13pre131 debian version gcl_2.6.12-131
- support ansi eval-when keywords
- real build-in class
- define ANSI_COMMON_LISP by default
- Version_2_6_13pre130 debian version gcl-2.6.12-130
- cleanup unix run-process
- pvfork macro for prof_block(vfork())
- heap init/recreate fixes for cygwin/mingw
- lintian cleanups in unexnt.c
- run-process support and arg handling correction for mingw/cygwin
- larger GETPW_BUF for cygwin
- ensure string in coerce_to_filename1
- sync CreateProcess for vsystem, run-process for mingw/cygwin
- more careful invocation of pclose when required
- close_stream in gcl_init_or_load1
- 64bit loader support for cygwin
- rework mingw sleep calls
- linux GET_FULL_PATH_SELF for cygwin
- lintian fixes for windows
- rename debian control files for windows git
- downgrade autoconf prereq to 2.68
- -pg to LDFLAGS for mingw/cygwin
- prep_win_path on cygwin as well as mingw
- some crlf protection for 32bit MinGW
- support 64bit cygwin in configure
- do not redirect stderr on windows
- support #\Return in c2princ
- Version_2_6_13pre129 debian version gcl-2.6.12-129
- Version_2_6_13pre128 debian version gcl-2.6.12-128
- Version_2_6_13pre127 more robust readline version checking
- ensure Apple libtool in 386-macosx.defs
- restartable SIGPIPE handler
- do not simplify (expt inf/nan 0) to 1
- typo fixes, thanks Wolfgang Dautermann
- Version_2_6_13pre126 debian version 2.6.12-126
- continue error handler without noreturn attribute
- Version_2_6_13pre125 debian version 2.6.12-125
- fresh sys-proclaim.lisp files
- support for large memory model on amd64
- equalp hash tables
- nan comparisons return nil except for /=
- git.tag banner support
- Temporary Ieval1 define for ansi in-package support
- fix corner case error in cmac.c
- ANSI in-package support
- Version_2_6_13pre124 debian/changelog gcl-2.6.12-124
- support // in pathnames, do all canonicalization in make-pathname
- cleanup configure output
- Newer versions of config.{guess,sub}
- Version_2_6_13pre123 debian/changelog Version_2_6_13pre123
- build depend gcc-11 for now
- Version_2_6_13pre122 debian/changelog gcl-2.6.12-122
- debian package uses gcc-11 until gcc integer bug fixed
- Version_2_6_13pre121 debian/changelog gcl-2.6.12-121
- robustify inline semantics probe
- remove testing code from configure
- Version_2_6_13pre120 debian/changelog gcl-2.6.12-120
- compiler warning cleanups
- probe inline semantics, allow multi words in GCL_CC
- Version_2_6_13pre119 debian/changelog gcl-2.6.12-119
- workaround readdir failure on m68k/sh4 for now
- avoid brk probe on alpha for now, recently broken
- Version_2_6_13pre118 debian/changelog gcl-2.6.12-118
- remove doc file copies in debian/missing-sources=>lintian-overrides
- Version_2_6_13pre117 debian/changelog Version_2_6_13pre117
- Version_2_6_13pre116 pre-built doc files in debian/missing-sources
- Version_2_6_13pre115 debian control fixes
- Version_2.6.13pre114 debian/changelog 2.6.12-117
- better d_type test in configure
- Version_2.6.13pre113 debian/changelog 2.6.12-116
- .gitignore files from master
- feenable functions return object
- check autobuild directory on m68k
- atan(0,0) -> 0
- ensure all C DEFUNs return object for m68k compatibility
- fix inf/nan printing in format
- remove year bounds on (en,de)code-universal-time
- Version_2.6.13pre112 debian/changelog 2.6.12-115
- remove lfun property of make-hash-table
- Version_2.6.13pre111 debian/changelog 2.6.12-114
- R_RISCV_32 relocation
- Version_2.6.13pre110 debian/changelog 2.6.12-113
- NEED_STACK_CHK_GUARD for riscv64
- Version_2.6.13pre109 debian/changelog 2.6.12-112
- initial riscv64 support
- format exponential inf/nan as float
- type-o fix edit_double
- fix edit_double rounding
- Version_2.6.13pre108 debian/changelog 2.6.12-111
- reinitialize stdio files on startup
- Version_2.6.13pre107 debian/changelog Version_2.6.13pre107
- restore build on function pointer machines
- Version_2_6_13pre106 debian/changelog Version_2_6_13pre106
- defvar *compile-file-truename*
- misleading indentation warning cleanups
- refresh support for low imm fixnums
- autoupdate, signed cstack bits,\= -> =,always define OBJNULL
- DEFUN_NEW make-hash-table
- *error-output* to stderr
- close string out of bounds write warning
- Version_2.6.13pre105 debian changelog 2.6.12-108
- Version_2.6.13pre104 OBJ_ALIGN bigger_fixnum_table1
- Version_2_6_13pre103 correct debian/changelog
- update debian/changelog
- remove warning about noreturn error function
- build depend on libeditreadline-dev in Debian package
- support building against readline editline shim
- Version_2_6_13pre102 statically allocate bigger_fixnum_table lightening gc load
- R_390_PLT32DBL for s390x
- tempfile -> mktem in in.gcl.postinst
- Version_2_6_13pre101 ensure get_stack_to_be_allocated is not optimized away
- lisp interface to SEEK-TO-END-OFILE
- which -> command -v
- Do not trigger assert_error if errno is set
- Version_2_6_13pre100 lintian for cstackmax
- init cstack 4 alignment words below cstackmax
- standardize cstack on 32bit arm debian builds
- Version_2_6_13pre99 revert trial which
- do not rebuild documentation in debian package
- more sync with debian package
- sync with debian package
- yet more info fixes
- more info fixes
- info fixes
- try to regain m68k build
- Version_2_6_13pre98 more macosx support
- updates for latest macosx
- Version_2_6_13pre97 latest debian/watch version
- Version_2_6_13pre96 enable misleading indentation warnings
- better readline configuration detection
- Version_2_6_13pre95 expand trampoline range for R_ARM_THM_JUMP24 on armhf
- Add __attribute__((noreturn)) to Icall_gen_error_handler prototype
- remove conditional vsnprintf prototype
- initialize rt_case in copy_readtable
- Version_2_6_13pre94 Do not null terminate strings out of heap
- Version_2_6_13pre93 lintian cleanups
- Version_2_6_13pre92 Workaround armhf strip bug, plt start detection
- Version_2_6_13pre91 build Debian under GCL_MEM_MULTIPLE=0.1
- Version_2_6_13pre90 fix gcl_strncpy_chk for gcc-10
- cclear_stack to get_stack_to_be_allocated for gcc-10
- set -fcommon in configure
- Allow for setting MCC in debian/rules
- Version_2_6_13pre89 merge #p".lsp" into filename in compile-file
- synch *split-file* handling with master
- prevent *package* reset when using *split-files*
- synch get-output-pathname with master
- Version_2_6_13pre88 move gcl_pool to user homedir
- Version_2_6_13pre87 handle missing .toc section on ppcle
- Version_2_6_13pre86 -mno-pltseq on non-le ppc64 for now as no machine access
- Version_2_6_13pre85 support plt relocs on ppcle (64bit)
- Version_2_6_13pre84 disable gprof on m68k
- Version_2_6_13pre83 Remove ADDR_COMPAT_LAYOUT, fix CSTACK detection
- Version_2_6_13pre82 really fix relblock toggle
- Version_2_6_13pre81 fix endless loop toggling relblock
- Version_2_6_13pre80 Fix CEerror usage and exhausted memory report
- Version_2_6_13pre79 Remove one bit from JUMP24 and THM_CALL veneers
- Version_2_6_13pre78 Remove one more bit from ARM_CALL range
- Version_2_6_13pre77 Only use arm veneers when out of range
- Version_2_6_13pre76 Remove XMAINFLAGS armhf workaround
- Version_2_6_13pre75 armhf variable plt size, *sec_h unexec init
- fix -pg, separate armhf, -mlong-calls workaround for main
- Version_2_6_13pre74 Reenable gprof on arm32 with short reloc support
- Version_2_6_13pre73 Support short calls on arm, as -mlong-calls incomplete
- signed reloc fix on 32bit arm
- Version_2_6_13pre72 Restore trampoline for ppcle dynamic symbols
- Version_2_6_13pre71 hppa assembly fix
- legacy support for GCL_GC_PAGE_THRESH
- allow GCL_MULTIPROCESS_MEMORY_POOL to be set to false
- Version_2_6_13pre70 implement which on *argv for kcl_self when proc unmounted
- Version_2_6_13pre69 NO_FILE_LOCKING on hurd
- Version_2_6_13pre68 R_X86_64_PLT32 support
- Version_2_6_13pre67 GPREL32 (jump table) alpha linker support
- reenable gprof on alpha
- write_stub_mcount for alpha
- Version_2_6_13pre66 eliminate fix(Cnil) from multiple-value-setq
- *fixnum signature fix
- turn off gprof on alpha for now
- do not run configure tests with -pg
- do not run configure tests with -pg
- Version_2_6_13pre65 default optimization on alpha
- clear up some erroneous fix(Cnil) code generation
- assert 32bit addends in alpha linker
- write_stub independent of gp in alpha linker
- correct corner case in alpha linker
- Version_2_6_13pre64 reset alpha gp at function start for large acl2 got
- double alpha got space to 64k, enough for acl2 at present
- Version_2_6_13pre63 proper section restrictions in alpha linker
- Version_2_6_13pre62 .rel section support for alpha linker
- Version_2_6_13pre61 disable gprof s390 gcc bug in make_shortfloat
- Version_2_6_13pre60 alpha linker fix
- Version_2_6_13pre59 alpha compact got space
- Version_2_6_13pre58 Fix alpha linker compile failure
- set bounds on mark_object_address, revert fasd stack vector reset
- Version_2_6_13pre57 alpha reloc fix
- Version_2_6_13pre56 less got space on alpha
- Version_2_6_13pre55 update latest for STATIC_FUNCTION_POINTERS
- Version_2_6_13pre54 _mcleanup() noop for mac
- close_fasd and mac fixes
- Version_2_6_13pre53 origin/remove_package_operations progn in *top-level-forms* takes one list arg
- *eval-when-defaults* defaults to nil
- eval-when fix
- loadable data files
- Version_2_6_13pre52 more files needed for link
- list_order.25 Version_2_6_13pre51 origin/list_order restore files needed for compiler::link
- list_order.24 rand gmp wrappers, need exposed by hurd maxima
- list_order.23 ansi keywords in compiler::link functions
- debian cleanups
- undef HAVE_D_TYPE on hurd (unimplemented)
- list_order.22 restore LOAD_SYM_BY_NAME for hppa and mips et. al.
- list_order.21 undef SGC on alpha for now
- list_order.20 fix ppc64le linker
- gcc warning cleanups
- list_order.19 gprof temp files in current working directory
- list_order.18 remove -fomit-frame-pointer when profiling
- list_order.17 prototypes and lintian
- high level gprof interface
- load static symbols into ptable for si::write-symtab
- compiler support for marking cfdata as profiling
- do not link with -pg and elim raw gprof and dead code
- gprof.c to centralize low level profiling functions
- list_order.16 fix find-sharing-top
- list_order.15 fix circle print
- list_order.14 directory fix -- simple namestrings in output
- list_order.13 mips32 reloc fix; unmatched lo16 for gp reg
- list_order.12 regexpr lintian
- fix regcomp
- Accelerate #n= printing
- disable gprof on aarch64
- list_order.11 cleanup #n= printing
- print-circle typo fix
- list_order.10 print-escaping based on current readtable
- print-escape fixes
- list_order.9 sweep phase sync
- list_order.8 gc rebuilds freelists, sgc-quit sets right tail
- list_order.7 no sgc for m68k, all emulators now
- sgc-quit fix
- list_order.6 super_funcall_no_event fix
- Lsharp_left_parenthesis_reader vs_top fix
- memprotect_handler_test fix, page faddr matches
- list_order.5 cleanup mips64 linker code
- more efficient mips64 got, revert -mxgot
- list_order.4 mxgot default on mips64
- list_order.3 initialization bug in pool.h
- list_order.2 mips64 xgot linker fix
- pool race fix
- list_order.1 wpool fixes
- mips64el xgot support
- more print variable fixes
- fix print escape
- readtable-case keywoords
- readtable-case support
- Work around fcalln1 arg no limitation
- faster remove
- eql_is_eq
- some memq accelerations
- faster ensure-directories-exist
- faster init-name
- fix best-array-element-type
- faster file-length
- stat1 /*FIXME*/
- faster best-array-element-type
- remake sys-proclaim files
- 'while in :user
- beautify and lintian
- list-toggle-case returns one value
- push basic predicates as C macros
- better handling of one value in values
- optimize deftype defs in compiler
- faster eval macros
- Revert "faster list and reverse"
- Revert "fix travel_push for far cdr"
- Revert "gc fix to list_reverse"
- Revert "Revert "freelist order""
- Revert "traditional cdr order"
- Merge branch 'list_order' of git.sv.gnu.org
- traditional cdr order
- Revert "freelist order"
- gc fix to list_reverse
- fix travel_push for far cdr
- faster list and reverse
- probe-file expands links
- debian script fix
- faster macroexpansion
- macros are sfuns
- some reverse to nreverse
- more efficient cond
- gethash beautify
- smallnthcdr fix
- list function order
- collect macro
- freelist macros
- stack_cons replacements
- freelist order
- loop expansion accelerator
- faster anonymous funcalls
- compiled &rest order
- origin/pathnames1 remove inlines for match-{beginning,end}
- fix hashtable cache
- hashtable cache
- C funs as sfuns where possible
- traditional cdr order
- Revert "freelist order"
- gc fix to list_reverse
- fix travel_push for far cdr
- faster list and reverse
- faster macroexpansion
- macros are sfuns
- some reverse to nreverse
- more efficient cond
- gethash beautify
- list function order
- collect macro
- freelist macros
- stack_cons replacements
- freelist order
- loop expansion accelerator
- faster anonymous funcalls
- compiled &rest order
- remove inlines for match-{beginning,end}
- fix hashtable cache
- hashtable cache
- C funs as sfuns where possible
- pathnames1.13 fix gzipped file load
- pathnames1.12 smallnthcdr fix
- probe-file expands links
- debian script fix
- pathnames1.11 lintian cleanups
- avoid pathname allocation
- lisp subst
- pathnames1.10 link-expand in load-pathname-exists
- pathnames1.9 handle gzipped files in load-pathname
- pathnames1.8 update sys-proclaim.lisp
- get-path cleanups
- string-concatenate usage
- stream predicates
- fast-linnkable string-concatenate
- aux fns from master for ansi-tests
- remove obsolete lfun defs
- unused variable cleanups
- tk fixups
- shhorten stream structure
- lisp version make-string-input-stream
- close_stream is not recursive
- lisp versions of file-position and file-length
- file_synonym_stream is dynamic
- nonstandard -Wl,-no_pie only on macosx
- pathnames1.7 debian build-dep on tcl
- script flag fix
- linker script fix
- keep modified flags in force in configure
- Pathnames1.6 fix prelink
- pathnames1.5 TLDFLAGS in configure for correct gcl.script
- -fno-PIE in configure
- wine configure fixes
- no readline on windows
- mac warning cleanups
- configure typo
- temporary file_stream for stat
- Merge branch 'pathnames1' of git.sv.gnu.org
- unixport makefile fixes
- vsystem prototype
- both slashes as dir separators on mingw
- which function
- more backslash mingw cleanups
- defaulted namestring detection in make-pathname
- stat works on streams, ftell, fseek
- accept backslash as dir separator on windows
- vsystem for mingw
- clang warning cleanups
- configure fix to handle pie and bindnow flags
- recognize msys as mingw
- pathname-device support for mingw
- mingw compile warning fix
- mingw define fixes
- mingw typo
- winsock2 include order
- mingw fixes to dir functions
- eliminate wine-detected
- default to system in vsystem on mingw for now
- default to system in vsystem on mingw for now
- winsock2 include order
- map permissions fix for mingw
- remove Ldirectory in mingfile.c
- open rename mingw fix
- symbol name handling in sfaslcoff.c
- GETPW_BUF for mac
- fix macosx fasl detection codes
- pathnames1.4 stat returns mtime not ctime
- pathnames1.3 kfreebsd fix for getpw sysconf
- pathnames1.2 *current-directory* support
- warning clear file-author and file-write-date
- fix file-stream-p
- fix close of gzipped files
- coerce_to_filename1, cleanup open_stream
- cleanup of unixfsys.c
- more ansi-test clean target
- clean target in ansi-tests
- pathnames1.1 new ansi-tests
- partial master merge and cleanup of gcl_iolib.lsp
- bind *standard-input* during load
- better indentation for gcc warnings
- *load-truename* in add-fn-data
- more find_special call updates
- find_special call updates
- some ansi-test sync from master
- find_special prototype fix
- write-to-string and stream-external-format sync
- si::expand-ranges fun
- stream type predicates for 2.6
- stream types for 2.6
- open_stream sync with master
- better file errors
- bind.c sync with master
- proper init sequence for new iolib
- si::rmdir and si::uid-to-name funs
- sharp-q and sharp-sharp in standard-readtable
- sharp-p-reader in standard-readtable
- better safety detection compiled check-args
- load-stream and load-fasl
- gcl_sm_closed stream flag
- ensure -compile does not overwrite source
- typo fix
- initialize res v_self before regcomp
- fixup support for compound ofile extensions
- support for compiled fns with compound extensions
- fix RETURN2 and RETURN4 macros
- add rename function
- ensure sSAwritableA is writable
- thin out gcl_lfun_list.lsp
- rename_file, wild_pathname_p, pathname_match_p
- update sys-proclaim.lsp
- logical pathnames are upper case (?)
- pathname-designator type support
- delete_file symbol for file.d
- bootstrapping when missing pathname funs
- RETURN4 macro for stat
- faslinkable faslink
- lisp implementations pathname funs
- stat returns values
- lisp front end for load
- ensure-directories-exist fix for new stat
- lisp versions of stream slot funs
- elimiinate redundant sharp-u-reader def
- pathname_designatorp
- static filename buffer in read_fasl_vector
- smm_file_synonym stream support
- Revert "static filename buffer read_fasl_vector"
- sync get-temp-dir and sub functions from master
- diagnostic output in make-fn
- quote input arguments to subshell commands
- eliminate redundant error variable definitions
- cleanup symbol name handling in coff loader
- more subexpressions in regexp code
- gc sync with master
- static filename buffer in read_fasl_vector
- eliminate unused siLreplace_array
- maxpage handling fixes from master
- sync fpe code with master
- move filename buffers off stack (gc)
- double static print queue size
- eliminate redundat error keywords in C code
- sharp-p syntax for constant pathnames
- Additional optimizations for co1typep
- wild-pathname-p ansi-tests
- cosmetic changes
- subseq instead of displaced arrays in pathnames
- protect shell from gprof arguments
- -fno-builtin-malloc for gcc
- allow-other-key binding from master
- initial checkin of ansi pathnames
- Version_2_6_13pre50 misleading indentation warning fixes
- vsystem uses shell if special chars found
- Version_2_6_13pre49 load all hppa millicode routines
- Version_2_6_13pre48 cleanup vsystem
- define $$dyncall for hppa
- Version_2_6_13pre47 GCL_MEM_MULTIPLE defaults to 1.0
- Version_2_6_13pre46 canonicalize cc, ld, and objdump paths at startup
- fix compiler-command for vsystem
- vsystem using vfork, large mem support
- report both system values in safe-system
- set sm_object01 in run_process/make_socket_pair
- LOAD_SYM_BY_NAME for mips __moddi3
- Version_2_6_13pre45 fixup sys-proclaims for error functions
- Version_2_6_13pre44 get process name in unrandomized executable
- restore variable access in debugger
- Version_2_6_13pre43 dh_prep, newer Debian standards
- Version_2_6_13pre42 Update debian/control version syntax
- Version_2_6_13pre41 output memory size in raw image init
- darwin updates
- add release file to repository
- typo GCL_GC_PAGE_THRESH -> GCL_GC_PAGE_MIN
- remove mod/*.lsp from makefile source search
- replace gcl-compile-time with release file
- include strerror in massert output
- Version_2_6_13pre40 data_bss_offset in unexec, sparc64 fix
- Version_2_6_13pre39 remove -pg link flags s390, gcc relo bug workarnd
- Version_2_6_13pre38 fixes to getCharGclSocket
- 0.85 default mem_multiple
- fixes to si::socket
- default build is ansi
- update code using sincos
- Version_2_6_13pre37 setrlimit max stack for new macosx limits
- protect prelink from missing readline
- Fix wt-ccb-vs when lowest fun is not a closure
- Version_2_6_13pre36 support latest binutils, mcount out of prelink.c
- Version_2_6_13pre35 fLequal for static_function_pointers
- Version_2_6_13pre34 more robust equal tail recursion detection
- Version_2_6_13pre33 use truenames in compile-file1
- implement mips64 relocations recursively
- gcc boolean expression tail recursion workaround
- Version_2_6_13pre32 Fix mips64 three-type linker (mips64/gprel32)
- fix FTBFS on Hurd using sysconf to get phys pages
- Version_2_6_13pre31 support get_phys_pages_no_malloc on FreeBSD
- remove can_gp from elf64_mips_reloc_special.h
- Version_2_6_13pre30 fix 32bit sysinfo call
- rework mips64 linker
- Version_2_6_13pre29 centralize startup hole initialization
- Version_2_6_13pre28 protect early malloc from recursion
- only report gc diagnostics with *notify-gbc*
- make use of /proc/self/exe on linux
- Version_2_6_13pre27 protect malloc from running randomized
- malloc is sbrk before unrandomization is done
- Version_2_6_13pre26 fix blocking code in getCharGclSocket
- rework mips linker to be plt neutral
- Version_2_6_13pre25 trad symbols exported from :lisp in non-ansi image
- update config.guess
- Version_2_6_13pre24 debian/rules typo
- Version_2_6_13pre23 Use dpkg-buidflags opt levels in debian/rules
- Version_2_6_13pre22 centralize define of INLINE
- formatting/whitespace change
- revert plt changes on mips64, FIXME no LD_BIND_NOW
- Version_2_6_13pre21 consolidate gmp reinit code
- untrack some autoconf files
- reinit_gmp() independent of LD_BIND_NOW
- remove gcl extension symbols from cltl1-compat package
- import common :si symbols into :user
- Version_2_6_13pre20 FFN open_stream_p typo fix
- Version_2_6_13pre19 fix with-input-from-string and with-output-to-string
- Version_2_6_13pre18 better conditioned inverse trig functions -- will replace with libc in 2.7
- support for open-stream-p
- round up in truncate_double
- Use -mplt on mips and simplify linker, no LD_BIND_NOW
- escape dollar signs in safe-system
- Version_2_6_13pre17 more robust oom allocation
- Version_2_6_13pre16 more windows lintian
- more cygwin lintian
- more mac lintian
- cygwin fixes
- mac lintian
- rpc configure updates for cygwin
- eliminate compiler warning in emsg
- includes for emsg
- emsg for error reporting without malloc
- robustify setup_maxpages()
- typo in configure.in
- emsg is INLINE
- lintian
- more emsg -- FIXME fprintf-no-malloc
- -I/usr/include/tirpc for cygwin
- non-allocing emsg
- rb is low if nrbpage is zero
- gbc.c typo
- mingw lintian
- mingw fixes
- disable pool locking on mingw for now
- do not attempt to unlink /tmp/gcl_pool on exit
- make GCL_WAIT_ON_ABORT a value of seconds to sleep
- simplify gc trigger
- limit recent_allocation trigger to GC_MAX_ALLOC (def 1.0) fraction of phys_pages
- fix bug in resize_hole
- simplified gc trigger algorithm
- replace balanced_gc_p with alloc_thresh
- Version_2_6_13pre15a fix mem_multiple and wpool
- -Wno-self-assign for clang
- Version_2_6_13pre15 safer defaults for gc thresholds
- use trimmed median in balanced_gc_p
- read environment variables in non-linux
- pickup sincos symbol on mac
- replace gcl_allocation_threshold with gc_imbalance_tolerance
- balanced_gc_p()
- remove new_holepage; place relblock at phys_pages and scale with available thereafter
- remove opt_maxpage
- Version_2_6_13pre14d provide dummy INLINE definition for configure
- Version_2_6_13pre14c fix corner cases on rb queries
- Version_2_6_13pre14b centralize hole and rb variable setting, closing axiom build bug
- centralize name of pool file
- blocking fcntl lock in pool.h
- Version_2_6_13pre14a typeo in gcl_cleanup
- gprof_cleanup prototype
- Version_2_6_13pre14 better pool initialization logic in case of abnormal exit
- init gcl_pool if we get an exclusive open
- follow tm_maxpage with null si::*optimize-maximum-pages* as GC trigger
- typo in GCL_WAIT_ON_ABORT
- GCL_WAIT_ON_ABORT
- toggle global memory pool on GCL_MULTIPROCESS_MEMORY_POOL
- trigger gc only by resident set size and recent allocation
- test local pool idea
- origin/pool eliminate initial scaling of maxpage variables
- do_gcl_abort(), calling gcl_cleanup() first
- ignore gc_page_threshold when not optimizing maximum pages
- wpool program
- temporary file printout formatting
- gc_page_threshold
- gcl_cleanup()
- support for GCL shared memory pools
- Version_2_6_13pre13 static_promotion_limit in alloc_contblock_no_gc
- Version_2_6_13pre12 eliminate holepage; centralize setup_rb() and resize_hole()
- use only physical pages and GCL_MEM_MULTIPLE to adjust when set
- try to avoid extra gc when expanding relblock by taking from hole at the top
- fix unsigned integer comparison error in rebalance_maxpages()
- restore si:*gbc-message* debugging for axiom
- clear set-but-unused warnings in o/
- Version_2_6_13pre11 clang warning and lintian support
- Version_2_6_13pre10 fix to jumps-to-p stepping over constant lists
- fix to inline-blocks of c2gethash
- fix overlapping strcpy in truncate_double
- Version_2_6_13pre9 clang lintian fixes
- clang has newer inline semantics
- stray semicolon in gcl-tk
- support older readline library semantics
- Version_2_6_13pre8b weak attribute declarations to disable copy relocs in prelink.c for gcc 5
- Version_2_6_13pre8a more inline definition cleanups
- assember syntax change in convenience copy of gmp for gcc 5
- Version_2_6_13pre8 omit linemarkers in gcc 5 cpp output during cmpinclude.h construction
- omit error.h, immnum.h, and gmp_wrappers.h in guis.h definition of gcl-tk
- elimination IN_MAIN macro
- centralize inline function declaration/definition semantics
- gcc 5 lintian fix
- Version_2_6_13pre7 lintian changes for mac
- remove maxima compatibility exports
- skip xgcl when not in features
- alloc_code_space for macho and coff
- sync prototype for get_phys_pages_no_malloc
- wrap sgc code with #ifdef SGC
- Version_2_6_13pre6 make insert_contblock atomic, protect against internal gc
- fix leak and div by zero in rebalance_maxpages()
- adjust tm_adjgbccnt for GBC calls not related to requests for space
- Version_2_6_13pre5 typo in rebalance_maxpages()
- cleaner rebalance_maxpages()
- Version_2_6_13pre4 diagnostic for alpha build failure
- merge sgc_contblock_sweep_phase; allow for resizing cbv/recursive GC therein
- allocate contiguous pages in 256 page increments to aid in coalescing
- typo in sgc writable page marking
- lintian cleanup
- 1Mb contblock page size granularity
- better contblock page access, get_pageinfo
- Version_2_6_13pre3a remove special in_signal_handler processing in alloc_page()
- round up initial sbrk to nearest pagesize
- Version_2_6_13pre3 cleaup alloc_page()
- build pcl with code-block-reserve for short relocs instead
- build pcl code in compact mode to protect buggy limited relocs in some places
- fix gc initialization sequence bug in Lgensym
- set good hole after minimizing image in set-log-maxpage-bound
- Version_2_6_13pre2 lintian fix 32bit
- fix brk calls for large arguments, e.g. 32bit signed fixnum overrun
- remove allocate_code_block_reserve
- Version_2_6_13pre1b another reset-sys-paths move
- Version_2_6_13pre1a reset-sys-paths moved to si::
- rework free error escape for new minimized image layout
- allow for multiple calls to gcl_init_alloc in initialized state
- Version_2_6_13pre1 faster get_pageinfo
- try faster get_pageinfo
- remove contblock_lim
- ensure adjgbccnt is positive
- comment out consistency assertion in set_tm_maxpage
- empty_relblock before image save
- better synchronize available_pages
- #'save -> #'si::save
- empty_relblock function
- typo in gbc.c
- cleanup #'room
- get-setf-method -> get-setf-expansion
- merging in x32
- origin/x32 x32 support
- merge in ansi-package
- origin/ansi-package :cltl1-compat package
- move si::*break-on-warnings* from gcl_top.lsp to gcl_serror.lsp
- import si::clines/defentry into :fpe
- cltl1 char functions in :si
- import si::compiler-let into :walker
- commonp in :si
- compiler-let in :si
- remove ANSI_COMMON_LISP define
- remove string-char in cmpfun.lsp
- compiler::*warn-on-multiple-fn-definitions* to suppress proclaim conflicts
- restore compiler-let for axiom
- restore int-char for axiom
- sys-proclaim.lisp for xgcl
- cleanup pcl build, no sys-package.lisp, defsys.lisp honors kcl feature
- fix signed integer comparison error in values error reporting
- get full self path before unrandomize to robustify exec
- start debug levels at 1
- one more extraneous lisp symbol move
- remove removed character functions, make-char, char-bits, et.al.
- move extraneous symbols from :lisp to :si
- sLstring_char -> sLcharacter in C code
- remove string-char-p
- print package prefixes in sys-proclaim.lisp
- lintian fix to cmp-expand-macro
- special-form-p -> special-operator-p
- replace debug property indicator with si::debugger
- remove compiler-let
- replace string-char with character
- cleanup in-package/export at head of source files
- standardize common-lisp package in all flavors
- origin/nsrsfgfsgbanrc remove si::*leaf-collection*
- postpone alloc_contblock_no_gc in mark_leaf_data
- remove redundant declarations of reset_contblock_freelist
- remove slower contblock allocation methods
- update sgc_start for new contblock allocation
- adjust maxpage rebalancing algorithm
- do not rebalance maxpages past free_phys_pages
- use si::*code-block-reserve* for code first
- toggle large maxpage allocations on si::*optimize-maxpages*
- simplify si::contiguous-report
- automatic promotion of relblock to contblock on gc
- restore notify-gbc printout
- gc support for faster contblock allocation
- minimize default page allocations by type
- faster contblock allocation
- fix sgc_start
- more reliable sgc_start
- disable leaf collection when *leaf-collection* is nil
- lintian cleanups
- initialize phys_pages
- resize_hole function to centralize possible relblock copy overlap
- automatic allocation of static promotion in GBC when needed
- add pages to core only when needed, more efficient with large maxpages
- proper handling of corner case limits in relblock page management
- eliminate ncb
- keep *code-block-reserve* across image saves
- revert to 2Gb code space for amd64
- dont' mark leaf data on stack
- 4G code heap area for amd64
- code_block_reserve
- more relblock on startup when not running large
- *leaf-collection-threshold*, update_real_maxpage changes
- cleanup merge of no_relblock_copy
- merging in no_relblock_copy
- Try to avoid unnecessary low moves of relblock when adding pages
- origin/no_relblock_copy move relblock low before sgc start, image save, adding relblock pages, and when moving rb_start.
- don't set new_start when sgc_enabled
- replace code using rb_pointer1
- don't add relocatable pages if relblock is high
- fix rb_limit
- fix case of overlap from moving hole
- avoid extra relblock copy
- origin/nsrsfgfsgba merging in static_hashtable
- origin/static_hashtable setup :static keyword
- :static keyword to make-hash-table
- merging in bit_access
- origin/bit_access work-around destructive modification of slot-descriptions in t1define-structure
- merging in bit_access
- ensure bv_offset is aligned with a_offset
- BIT_ENDIAN macro in cmpinclude.h
- more accurate but slower type-and
- aref and aset optimizations for bit vectors
- synch c1structure-ref1 with HEAD
- fix error in result-type-from-args
- allow for user defined types in c1body
- origin/nsrsfpfsg lintian cleanups
- adjust for alt_npage in opt_maxpage
- robustify counting of writable_pages
- fix loop ensuring wrimap is writable
- do not allocate more pages on sgc_start
- simplify counting and reporting of read-only pages
- only use fresh pages for sgc, SGC_WHOLE_PAGE, fewer calls to is_writable
- better initialization of initial_sbrk
- mark_object_address and mark_object_array
- cache is_writable
- abort on overflow for R_X86_64_PC32
- merging in hashgc
- origin/hashgc faster hashtable marking
- origin/nsr_sfpm merging in scale_to_free_phys
- origin/scale_to_free_phys more flexibility for opt_maxpage
- toggle heap scale on GCL_LARGE environment variable
- lintian cleanups
- contiguous-report
- cb_size is ufixnum
- scale maxpage variables to free physical pages on startup
- origin/no_sgc_relblock fix unexelf for large file dumps
- static wrimap
- make sgc_start idempotent
- consolidate macros
- consolidate sgc_mark_object and mark_object
- no need to turn off sgc when overrunning hole
- SGC_TOUCH readtables when seetting macros
- save initial_sbrk, and prevent image minimization below this
- pages higher than heap_end are writable
- move old_rb_start data into static heap
- cleanup code allowing key data to move
- origin/promote_leaf_data1 allow for static link-array
- static-promotion-area and save-system
- fix sgc_start
- refresh static-promotion-area on sgc-start
- more conservative promotion
- static_relocatable_area