8.2.6
Changes
- Avoid unexpected heap growth in gctest for the case of VERY_SMALL_CONFIG
- Change gc.man to include gc/gc.h
- Check for out-of-memory on every memory allocation in tests
- Do not compile pthread_start.c on Cygwin even if build shared libs (CMake)
- Eliminate 'alloc_small declared but unused' gcc warning in gctest
- Eliminate 'make_key is defined but unused' gcc warning in threadkeytest
- Eliminate 'old_segv_handler is defined but unused' gcc warning on OpenBSD
- Eliminate 'rand() may return deterministic values' warning
- Eliminate 'unused parameter' compiler warnings reported by MS clang
- Eliminate 'unused parameter' gcc warning in free() if IGNORE_FREE
- Eliminate 'unused value' gcc warnings in init_global_static_roots (Symbian)
- Eliminate GCC warning of unsafe __builtin_return_address(1) in Cmake script
- Eliminate compiler warning of missing cast in LONG_MULT after shift
- Eliminate warning of unused expression result in GC_FreeBSDGetDataStart
- Ensure _GNU_SOURCE is defined if HAVE_DLADDR is defined by configure
- Fix 'g++ not found' error on OpenBSD (Makefile.direct)
- Fix 'implicit declaration of function pthread_atfork' gcc error on MinGW
- Fix 'implicit declaration of function sbrk' gcc error on Symbian
- Fix 'implicit declaration of iscntrl()' warning in cord/de_win (MinGW)
- Fix 'info' buffer potential overrun in GC_save_callers
- Fix 'l-value specifies const object' MSVC error in GC_push_many_regs
- Fix 'linker input unused' error inside check_c_compiler_flag (CMake)
- Fix 'missing binary operator before token' gcc error in gcconfig.h
- Fix 'missing sysconf() prototype' gcc error in setjmp_t tool (OpenBSD)
- Fix 'sigset_t undeclared' MS VC error if pthreads-w32 is used
- Fix 'undefined reference' linker errors if shared build on OpenBSD (CMake)
- Fix 'unused GC_set_and_save_fault_handler' warning on OS X
- Fix GC_push_stack_for() to push also Xmm registers on Windows/x64
- Fix GC_set_handle_fork(1) on Darwin when MPROTECT_VDB but no threads
- Fix MACH_TYPE macro redefinition on Symbian/arm
- Fix SVR4 macro definition order
- Fix asm constraint in LONG_MULT for gcc/x86
- Fix assertion violation in GC_get_maps on Linux if malloc redirection
- Fix back graph and checksums support in WCC_MAKEFILE
- Fix bitwise negation and rounding direction in setjmp_t tool
- Fix checksums GC_record_fault invocation on Darwin
- Fix closing bracket placement for case statement in configure
- Fix deprecation warning about support of CMake older than v3.5
- Fix extra 'extern C' for include signal.h in gcconfig.h
- Fix getcontext() detection by CMake on OpenBSD
- Fix handling of GC_gc_no counter wrap in GC_clear_stack
- Fix handling of GC_gc_no counter wrap in GC_notify_or_invoke_finalizers
- Fix indent of a closing curly brace in GC_forward_exception
- Fix lock assertion violation in GC_try_to_collect_inner on OS X
- Fix missing GC_pthread_sigmask on FreeBSD and NetBSD
- Fix missing _setjmp() on djgpp
- Fix missing atomic barriers in CORD_from_file_lazy
- Fix missing outermost parentheses in CORD_pos_cur_char_addr and hugetest
- Fix missing redirect and implementation of pthread_sigmask() on OpenBSD
- Fix missing type widening before left shift in GC_MAKE_PROC
- Fix misspelled GC_HEADERS_H macro in gc_priv.h
- Fix null dereference in check_finalizer_nested if redirect malloc on Linux
- Fix posix_memalign() to overwrite pointer storage only on success
- Fix race in init_lib_bounds on Linux with glibc v2.34+ if redirect malloc
- Fix skipped removal of page protection in case of address hash collision
- Fix typos in comments
- Fix undefined GC_real_pthread_sigmask if redirect malloc on OS X
- Fix update of last_back_trace_gc_no if KEEP_BACK_PTRS is not defined
- Handle GC_gc_no counter overflow properly in GC_print_trace
- Include Darwin CoreFoundation.h only if 32-bit ARM
- Make gc_allocator members public
- Re-enable incremental mode on OS X (arm64)
- Remove .log and cordtest .tmp files by 'make clean' (Makefile.direct)
- Remove a redundant check of HOST_ANDROID in gcconfig.h
- Remove duplication of random numbers generator formula
- Specify constexpr in GC allocators if C++20 or later
- Support NetBSD/riscv64
- Support non-msys MinGW build by CMake
- Turn on handle fork by default on Darwin (multi-threaded only)
- Use AO primitives in GC_RAND_NEXT instead of no_sanitize attribute
- Workaround 'malloc inconsistent dll linkage' MS VC error in CMake script
- Workaround MS Clang failure to compile de_win.rc
- Workaround mark stack overflow in GC_push_finalizer_structures on MinGW
Build status
Travis CI build
AppVeyor CI build
Github actions build
Distribution tarball
gc-8.2.6.tar.gz (see the Assets, md5: fc5351214bc2e854070ee3319181a467)