Skip to content

8.0.6

Compare
Choose a tag to compare
@ivmai ivmai released this 28 Sep 20:48

Changes

  • Add loop to handle abort error like in suspend logic on Darwin
  • Add support of OpenBSD/aarch64
  • Add threading libraries to bdw-gc.pc
  • Allocate start_info struct on the stack in GC_pthread_create
  • Allow GC_PAUSE_TIME_TARGET environment variable values smaller than 5 ms
  • Avoid compiler warning about unused d in GC_CALLOC/MALLOC_EXPLICITLY_TYPED
  • Avoid gcc stringop-overflow warning for intended overflow in smashtest
  • Check _MSVC_LANG macro in addition to __cplusplus (MS VC)
  • Compile C++ code with exception handling enabled in NT_MAKEFILE
  • Define OS_TYPE and DATAEND for UWP targets
  • Disable mprotect-based incremental GC if /proc roots are used (Linux)
  • Do not report 'Incremental GC incompatible' warning more than once
  • Do not use Manual VDB mode if C malloc is redirected
  • Do not use iOS private symbols
  • Eliminate 'GC_non_gc_bytes is deprecated' warning in new_gc_alloc.h
  • Eliminate 'GC_old_bus_handler defined but not used' compiler warning
  • Eliminate 'cast between incompatible func types' warnings for FARPROC vars
  • Eliminate 'comparing signed and unsigned values' BCC warning in cordtest
  • Eliminate 'gc_pthread_redirects.h should contain header guard' code defect
  • Eliminate 'implicit declaration of sbrk' gcc warning if -std=c11 on Cygwin
  • Eliminate 'possible loss of data' BCC and MS VC warnings
  • Eliminate 'static GC_sysinfo definition has incomplete type' Clang warning
  • Eliminate 'unused function' compiler warnings (GC_add_map_entry, GC_lock)
  • Eliminate 'while clause does not guard' GCC warning in GC_parse_map_entry
  • Enable sbrk-to-mmap fallback on major supported Unix-like platforms
  • Ensure process is running on one CPU core if AO ops are emulated with locks
  • Explicitly zero-initialize trace_buf (fix trace_buf initialization)
  • Fix 'ACCESS_VIOLATION in marker' GC warning on Win32 async thread start
  • Fix 'GC_generic_malloc must be available' GCC error in new_gc_alloc.h
  • Fix 'ISO C++17 does not allow dynamic exception spec' clang-8 error
  • Fix 'Wrong __data_start/_end pair' if -Bsymbolic-functions used (Linux)
  • Fix 'condition pred!=NULL is always true' compiler warning
  • Fix 'external linkage required for var because of dllimport' error on MinGW
  • Fix 'ulong undefined' compilation error on AIX
  • Fix 'undefined reference to __data_start' linker error on RISC-V
  • Fix 'use of undeclared BUS_PAGE_FAULT' compilation error on FreeBSD 12
  • Fix 'write to GC log failed' error (Cygwin)
  • Fix 'wrong finalization data' gctest failure on Windows
  • Fix CMake build on macOS Catalina
  • Fix GC_OPENBSD_THREADS definition (OpenBSD/hppa)
  • Fix GC_proc_fd value in child process at fork (Solaris)
  • Fix GC_with_callee_saves_pushed for Android NDK r23 (clang-12)
  • Fix MPROTECT_VDB definition for single-threaded GC builds
  • Fix OS_TYPE and USE_MMAP_ANON definitions for Cygwin/x64
  • Fix STACKBOTTOM on 32-bit HP/UX 11.11
  • Fix abort in GC_printf when gctest is built as WinMain executable (Cygwin)
  • Fix assertion violation in register_dynlib_callback on Android
  • Fix build for OS X (CMake)
  • Fix building of shared library with C++ support on MinGW
  • Fix compiling by Makefile.direct on OpenBSD/UltraSparc
  • Fix configure message about 'AIX gcc optimization fix'
  • Fix cordtest build in SMakefile.amiga
  • Fix data race regarding *rlh value in generic_malloc_many
  • Fix first_thread stack_base initialization if custom GC_stackbottom (Win32)
  • Fix gc_allocator.h compilation by Clang
  • Fix gc_cflags variable name in configure (HP/UX)
  • Fix handling of areas smaller than page size in GC_scratch_recycle
  • Fix incorrect markup formatting in documentation
  • Fix misaligned tlfs passed to AO_load on m68k
  • Fix missing GC_quiet declaration in pcr_interface.c
  • Fix missing gc_dlopen.c and specific.c in CMake script
  • Fix missing scratch_last_end_ptr update (Irix)
  • Fix mmap() failures on AIX, HP/UX and Haiku
  • Fix overflow of scratch_free_ptr value
  • Fix page_was_[ever_]dirty() for static roots (Solaris)
  • Fix printf format specifier in simple_example.md
  • Fix save_callers for multi-threaded case if built-in backtrace unavailable
  • Fix subexpression widening in memhash() of disclaim_weakmap_test
  • Fix test_cpp failure caused by arbitrary link order (Win32)
  • Fix test_cpp failure when gc_cpp resides in a dll (Borland, Watcom)
  • Fix various typos mostly in documentation files
  • Fix word size, data start and alignment for OpenBSD/mips64(el)
  • Include <alloca.h> when using alloca on AIX
  • Limit number of unmapped regions (Linux and DragonFly)
  • New macro to avoid system-wide new/delete inlining in gc_cpp.h (Win32)
  • Prevent GetThreadContext failure (Windows)
  • Prevent WARN of incompatible incremental GC if default or manual VDB
  • Reduce a time period between GetExitCodeThread and SuspendThread (Win32)
  • Refactoring of WoW64 workaround (Win32)
  • Refine GC_INIT documentation about its multiple invocation
  • Refine GC_parallel documentation in gc.h
  • Refine do_blocking() documentation in gc.h
  • Remove a misleading comment about Solaris in gc.h
  • Remove cord .h files from list of non-installed headers (Automake)
  • Remove dead part of condition to define NEED_FIND_LIMIT in gc_priv.h
  • Remove gcmt-lib generation by CMake
  • Support MSYS builds by CMake and configure
  • Update documentation about the incremental collector support
  • Use HEURISTIC2 on OpenBSD when single-threaded
  • Use pstat_getprocvm to determine main stack bottom on HP-UX
  • Workaround 'expression is only useful for its side effects' WCC warning
  • Workaround clang-3.8/s390x bug when processing __builtin_frame_address
  • Workaround fread fail after enable_incremental if malloc redirected (Linux)

Build status

Travis CI build
AppVeyor CI build
Coveralls status (code coverage)

Distribution Tarball

gc-8.0.6.tar.gz (see the Assets above, md5: 4878e629f482600f2060f30853c7b415)