GCL 2.6.11 RELEASE NOTES
Greetings! The GCL team is happy to announce the release of version
2.6.11, the latest achievement in the 'stable' (as opposed to
'development') series. Please see http://www.gnu.org/software/gcl for
downloading information.
This release features better floating point precision processing,
support for cygwin, arm64, ppc64, ppc64le and solaris, more robust
SGC, exact vararg initialization, SIGFPE trapping via
#'si::break-on-floating-point-exceptions, x86 support for libopcode
instruction disassembly via #'si::disassemble-instruction, simplified
build dependencies, faster gcd, lcm, typep, coerce, 1+-, predicates,
pcl cache, SGC, fast-linking, closure calls and compiled bignums,
compilation of top level closure forms by default, memoization of
array type handling, support for machines handling long and object
returns in different registers, a much smaller cmpinclude.h, prelink
support, default Debian compiler flag support (especially
stack-guard), new linking and fast-linking diagnostic functions, some
selinux support via READ_IMPLIES_EXEC personality, and many
miscellaneous bug fixes and support for bugs in various external
systems.
From the git log:
- fix gprof disabling configure message
- remove debug message from BUGGY_MAXIMUM_SSCANF_LENGTH code
- BUGGY_MAXIMUM_SSCANF_LENGTH
- BROKEN_WINDOWS_SSCANF
- clear_protect_memory for macosx
- fix find_init_name1 for leading underscore
- ppc64le support headers
- ppc64le support
- allow unexec to find last load section separated from bss by alloc sec
- fix update_real_maxpage for good first_data_page when data_start unset
- accept TMP paths with types/versions
- configure error if external libbfd.a/libiberty.a not found
- fix FPE in ansi-tests
- fix eof detection problems when running as shell script
- better ansi test reporting
- quit with Control-D when using readline
- correct current-timezone for dst
- fix match function proclaim skew
- remove mingw gmp detection error
- better external gmp detection
- do not attempt to load on error in #'compile
- Fix Windows external gmp lib detection
- fix calls in closures to other local funs
- trial selinux support
- R_ARM_JUMP24
- default phys_pages for darwin
- restore sys/mman.h to alloc.c
- port gcl_mprotect to windows
- try SGC for aarch64
- gcl_mprotect prototype mod
- better aarch64 relocation
- gcl_mprotect typos
- trap mprotect errors with gcl_mprotect
- move stack_guard initialization past bignum initialization
- memory_protect return
- abort sgc on mprotect failure
- set stack_guard after alloc setup
- disable SGC on aarch64, erratic unreproducible uncontrolled segfaults
- GET_FAULT_ADDR aarch64
- set stack_guard in main to avoid triggering a smash detection
- trampoline fix for aarch64
- SGC and stack_guard for aarch64
- aarch64 comment fix
- R_AARCH64_LDST128_ABS_LO12_NC
- aarch64 st8 reloc updates
- special reloc file for aarch64
- aarch64 trampoline mods
- aarch64 support
- pad struct frame to ensure 8 byte alignment for jmp_buf
- R_ARM_THM_JUMP24
- fix sh4 CLEAR_CACHE
- clear_protect_memory on all elf machines
- mips uses builtin_clear_cache like mipsel
- consolidate and fix mprotect/clear cache calls on loaded code
- backport travel_push_new from master
- restore jmp_buf alignment in attempt to fix mips build issues
- strncpy_chk for axiom
- protos and CFLAGS for axiom extensions
- better solaris unexec fix
- unexec fix for solaris
- update kfbsd config files for new sysconf handling
- get_phys_pages_no_malloc portability
- earlier prelink_init, phys_pages w/o malloc
- error on overflow of array dimensions
- clean mips elf code
- FILE * casts for windows feof wrapper
- better casts for frs_jmpbuf
- remove setjmp from cmpinclude.h
- getc,putc, and feof wrappers
- mark special symbols _gp_disp and __gnu_local_gp STB_LOCAL
- PWD -> PWD_CMD
- uid_t for mingw
- error on unrelocated non-local symbol for coff and macho
- no geteuid on mingw
- pwd -W for mingw
- gcl_puts typo
- remove saving_system condition on free error
- find_sym_ptable typo fix
- export C functions for AXIOM extensions
- export si::find-sym-ptable
- saving_system handling fixes
- memmove in gc, abort on unrelocated non-local symbol in sfaslelf.c
- --enable-prelink configure arg; stack_chk_guard for 68k
- hurd stack_guard, ppc64 C_GC_OFFSET
- fix manpage
- update manpage processing
- lintian cleanups
- append CPPFLAGS to CFLAGS
- update config.guess and config.sub
- static init for __stack_chk_guard
- reduce default optimizations on hppa to -O2 (axiom hang)
- PIE handling for __stack_chk_guard on arm/sh4
- debian package cleanups
- fix offsets ppc
- fix unexelf file offsets
- proper variable types in prelink.h
- prelink documentation
- collect and compile with -fPIE all refs to shared lib variables (prelink)
- fix unexelf.c to work with prelink
- reenable 386 4.9.0 opt flags
- gc protect closure calls
- workaround gcc 4.9.0 386 bug
- protect usig.c ASM calls with volatile variables
- access libopcodes through dlopen, cleanup fpe tests
- dlopen fixes
- noreturn function attribute for unwind, removes some compiler warnings
- custreloc for ppc64
- avoid string.h functions in user_init
- dont try to parse uccontext on non-linux unix targets
- don't make info files on install
- i386 fpe support
- mingw lintian
- add fenv.h to make-init.h for new_init.c
- doc sync
- base header cleanup
- fix rank 0 aref
- revert to broken functionp for axiom support for the moment
- protect fpe_test from C optimization
- remove SGC_TOUCH dup
- merge fpe
- all vararg afuns have all object arg types to support fast linking in 2.6.x
- cmpinclude.h items for axiom
- protect fboundp in top-level
- mingw typo fix
- eliminate some C compiler warnings, define SIGNED_CHAR
- more predicate-type props
- normalize class types for ansi-tests
- faster typep
- faster coerce
- functionp returns nil on symbols
- ihs_overflow compproto
- trial coerce
- fixnum returns declared as object with internal casts in 2.6.x, see c_apply_n
- proto for vfun_wrong_number_of_args
- do not save-funob on proclaimed-function
- compile closures
- abs returns real
- faster pcl cache ops
- optimize 1+ and 1- 2
- fast link diagnostics via si::*link-list*
- all compiled closures are turbo
- memoize best-array-element-type
- faster predicate and class calls
- fast link to afuns
- correct vararg calls 2
- compile top level macrolets
- write proclaimed-closure props in sys-proclaims.lisp 2
- write proclaimed-closure props in sys-proclaims.lisp
- optimize 1+ and 1-
- disable stack bignums, as they thrash rather than optimize
- prevent apply from foiling fast-link calls later in file
- correct vararg calls
- check_socket is static
- protect against empty first/lastfile
- move check_socket
- handle firstfile/lastfile for win targets in new makefiles
- fix mcompdefs.h on mingw
- synch to o/makefile from master
- move alloca prototype for solaris
- synch makefile with o/makefile
- synch CMPINCLUDE_FILES
- eliminate compbas2.h
- header cleanup
- maxima protos
- define stp_ordinary for maxima
- remove -DVOL from gcc command line
- solaris FILE casts
- file casts, mman.h include reorder in alloc.c
- casts for fileno
- casts for all LISTEN_FOR_INPUT
- probe for mprotect in configure
- missing integer declarations
- strip warnings from emacs configure runs
- eliminate GEN typedef
- solaris and windows cleanups
- port mcompdefs.h to solaris
- probe for alloca.h
- windows fixes
- add some missing cmpinclude info
- faster SGC_TOUCH
- shrink cmpinclude.h by factor of 10
- default to cur in data_start unset in update_real_maxpage
- condition phys_pages on raw_image, real_maxpage cannot change in a run
- init is in .opd on ppc64
- ppc64 custreloc cleanups
- default to custreloc for ppc64
- only probe phys_pages when heap is in place
- preliminary ppc64 custreloc support
- make sure heap is executable
- gcd/lcm opts
- add mprotect to alpha clear-cache
- delete gmp4/autom4te.cache
- delete gmp3/autom4te.cache
- fix powerpc-linux clear_cache
- setrlimit on mips now fixed
- update documentation makefiles
- add built documentation files to git
- do not make documentation by default, simplify build-dependencies
- solaris cleanups
- prune shlibdeps in gcl-tk
- 2.6.11pre test 10
- update minver and debian/changelog
- don't over allocate the stack
- trial header cleanup and cmpinclude.h reduction
- don't over allocate the stack
- use normalized constants for fpe tests
- update documentation
- do not attempt to edit pcl gazonk data files
- update documentation for break-on-floating-point-exceptions
- 2.6.11pre test 10
- update minver and debian/changelog
- add built documentation files to git
- fpe support in non-ansi images
- prune shlibdeps in gcl-tk
- do not make documentation by default, simplify build-dependencies
- solaris cleanups
- cleanup compile-file1
- use *fasd-data* independently of :system-p to govern data file format
- protect fpe_test in absense of disassembly
- generalize fpe_test
- fpe portability 2
- gnuwin95.h SF macro
- fnop for unavailable disassembly
- windows headers typos
- 386-macosx.h typo
- more fpe portability
- typo in fetestexcepts
- FPE constants for mingw
- fpe mingw
- allow nil +mc-context-offsets+
- fpe cygwin cleanups, test arrays static
- fpe cygwin
- more fpe portability
- fpe mac port
- import needed si symbols into fpe package
- redistribute fld, *fixnum, *float and *double
- gcl_fpe.lsp
- SIGFPE handler support
- disassemble-instruction and function-by-address
- configure checks for feenableexcept and print_insn
- partial update clcs files from master
- gc protect malloc
- protect malloc_list from nil car, e.g. sgc-start
- cygwin_conv_to_full_win32_path prototype
- cygwin prototypes
- make sure raw cygwin images have sufficient stack
- simplify readline
- rework initializaion of 'first' vararg argument
- free() file buffers and preserve malloc_list across saves
- cleanup dlopen linker option
- 1f is not a float
- remove Scdr in free
- rework closing streams on saving_system
- use writable_malloc to protect gprof
- dummy writable_malloc in tkMain.c
- reset malloc_list on image save, wrap all fopen calls
- try writable_malloc for sgc/setbuf issues
- NO_SETUF for hppa workaround
- Add dummy support for coff R_SECREL32 to load objects compiled with debugging
- HAVE_SIGALTSTACK macro
- cleanup sigaltstack code and macros
- try to use main sigaltstack code for mac
- signal.h move in alloc.c
- define SPECIAL_RSYM in mingw.h for now
- autoconf macro checking for d_type field in struct dirent
- main/init_alloc cleanup
- main cleanup 1
- new segfault trapping error detection strategy
- do not allocate bigger fixnum table unless necessary
- new GBC_enable strategy
- tk-package compile fix
- socklen_t cleanups
- gprof-raw_image-saving_system fix
- DEB_HOST_ARCH in debian/rules
- debian emacsen-compat policy
- gbc cygwin cleanups
- more beginning contiguous memory for cygwin
- cs_org=0 when saving system, reset on image reexec
- let cygwin probe for maximum heap size
- configure syntax fix
- -fno-zero-initialized-in-bss for cygwin
- initflag/raw_image cleanups
- replace uninitialized initflag with initialized raw_image
- trial cywin support
- parse float fix
- read-base fix
- updated parse_number
- mpz_set_str support
- scale floats in .data by normalized constants when necessary
- hppa support for symbols in libgcc, gmp version fix to --enable-dyngmp
- NO_SETBUF cleanups
- configure syntax fix
- configure whitespace fix
- restore tcl/tk configure autodetect and build;further gcl/tk cleanups
- update to latest readline function semantics