Skip to content

8.2.6

Compare
Choose a tag to compare
@ivmai ivmai released this 04 Feb 08:24

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)