7.2h
Pre-release
Pre-release
Note
This release is not recommended for the downstream package maintainers (because of libgc version-info incompatible change).
Changes
- Add gctest as a test (CMake)
- Change no-argument functions declaration style to ANSI C (extra files)
- Do not allow SHORT_DBG_HDRS if KEEP_BACK_PTRS or MAKE_BACK_GRAPH
- Ensure oom_fn callback executed on out-of-memory in calloc
- Fix '~' operator application to unsigned values shorter than word
- Fix 'context local variable might be clobbered by setjmp' compiler warning
- Fix 'doc' files installation folder
- Fix 'shift count >= width of type' compiler warning in GC_SQRT_SIZE_MAX
- Fix ALL_INTERIOR_POINTERS name in comments and documentation
- Fix AO_SRC_DIR target name in NT_*_MAKEFILE
- Fix assertion in GC_mark_from for non-heap regions
- Fix assertion in GC_steal_mark_stack for non-heap regions
- Fix assertion violation in GC_repeat_read if --enable-redirect-malloc
- Fix assertion violation in GC_wait_builder called from start_mark_threads
- Fix assertion violation in mark_local checking GC_mark_stack_top
- Fix bm_huge initialization for 64-bit targets (gctest)
- Fix broken external links in documentation
- Fix bytes count passed to add_to_our_memory in backgraph new_back_edges
- Fix calloc_explicitly_typed in case of lb*n overflow
- Fix CMake warning about CMP0054 by unquoting instances of HOST
- Fix conditional expression in pos_fetch, next non-macro definitions (cord)
- Fix configure --disable-munmap handling
- Fix CORD_substr_closure for the case when CORD_from_fn returns C string
- Fix crash in FirstDLOpenedLinkMap if app linked statically (Alpine Linux)
- Fix double multiplication of lb by n in calloc_explicitly_typed
- Fix enable_parallel_mark condition in CMake script
- Fix external libatomic_ops pkg-config-based detection
- Fix gc_allocator.h file name in new_gc_alloc.h comment
- Fix gc_backptr.h, gc_mark.h, GC_DS_TAGS names in documentation
- Fix gc_cleanup destructor for non-heap objects (gc_cpp)
- Fix GC_collect_or_expand to prevent allocation size value wrap-around
- Fix GC_incremental declaration/definition type mismatch
- Fix GC_mark_stack_top assertion violation properly in mark_local
- Fix GC_requested_heapsize increment in GC_init
- Fix GC_SIZE_MAX definition (Linux/musl-gcc)
- Fix GCJ support in CMake build script
- Fix gctest crash if configure --enable-handle-fork on Darwin
- Fix header filename in gcconfig.h comment
- Fix integer shift undefined behavior in GC_init_explicit_typing
- Fix leak_test crash in print_callers if free() is redirected
- Fix Makefile.direct recursive invocation
- Fix malloc routines to prevent size value wrap-around (fix CVE-2016-9427)
- Fix missing win32_threads.c compilation for Cygwin (CMake)
- Fix MS VC warning about compiling unused checksums and thread_local_alloc
- Fix name typos in GC_FAST_MALLOC_GRANS comment
- Fix null dereference in reclaim_block if DONT_ADD_BYTE_AT_END
- Fix OSF1 host pattern in CMakeLists.txt
- Fix PCR-Makefile by removing compilation of a missing file
- Fix potential data race in GC_SysVGetDataStart (SPARC)
- Fix potential integer overflow in GC_find_limit_* functions
- Fix push_complex_descriptor to avoid unlimited global mark stack growth
- Fix SIGSEGV in GC_is_marked when gc_cleanup is used in leak-finding mode
- Fix Solaris/sparc detection in case of strict C compliance is enforced
- Fix STACKBOTTOM for Solaris 11/x86
- Fix storage class of local variable in register_dynamic_libraries (Irix)
- Fix tools/setjmp_t hang (OS X)
- Fix typed_test to prevent fails in malloc_explicitly_typed (64-bit)
- Fix undefined HEAP_START in register_dynamic_libraries
- Fix various typos in comments, documentation and printed messages
- Handle load_segs overflow in register_dynlib_callback gracefully
- Prevent misleading AC_MSG_ERROR/AS_IF errors reported in configure.ac
- Replace (fix) 'objs' acronym in comments with 'objects' word
- Revert "Skip GC_DS_PER_OBJECT objs with negative descriptor in GC_mark_from"
- Update documentation about bugs reporting and new releases notification
- Update Download information in GC overview document
- Update shared libraries version info (v7.2)
- Workaround a bug in winpthreads causing parallel marks deadlock (MinGW)
- Workaround missing getcontext() in Docker osrf/ubuntu_32bit
Build status
Travis CI build
AppVeyor CI build
Distribution Tarball
gc-7.2h.tar.gz (see below; includes a copy of libatomic_ops-7.2h)