Skip to content

Releases: ivmai/bdwgc

8.2.8

08 Sep 20:51
Compare
Choose a tag to compare

Changes

  • Allow GC_size() argument to be null
  • Disable backtrace saving at garbage collections if DONT_SAVE_TO_LAST_STACK
  • Eliminate 'cast signed to bigger unsigned' CSA warnings in GC_find_limit
  • Eliminate 'x might be clobbered by longjmp' gcc warning in setjmp_t.c
  • Fix 'un-mprotect vdb failed' abort with out-of-memory reason on Linux
  • Fix ADD_CALL_CHAIN() placement to follow GC_store_debug_info_inner call
  • Fix GC_debug_realloc to support custom kind
  • Fix GC_is_visible for case of arg pointing exactly to object upper bound
  • Fix GC_print_trace_inner to print the last element of the circular buffer
  • Fix cordtst2.tmp file deletion in cordtest on Windows
  • Fix double lock in GC_malloc called from backtrace()
  • Fix handling of page-unaligned boundaries in soft_set_grungy_pages
  • Fix heap blocks size computation by GC_get_memory_use
  • Fix indent of a closing curly braces in GC_apply_to_all_blocks
  • Fix infinite resend lost signals if a thread is restarted by SIGQUIT
  • Fix null pointer dereference in GC_is_visible if type_descr is null
  • Fix per_object_helper() after changing hb_sz units
  • Fix pointer relational comparison in GC_do_enumerate_reachable_objects
  • Fix poor thread-local allocation performance because of double EXTRA_BYTES
  • Fix potential GC_add_roots_inner call with an overflowed pointer (Win32)
  • Fix potential address overflow in GC_add_to_heap
  • Fix potential buffer overrun during read in GC_text_mapping
  • Fix various typos in comments
  • Prevent GC_noop_sink from scanning by the collector
  • Prevent redirected malloc call from a garbage collection routine
  • Redirect malloc_usable_size() in leak_detector.h
  • Remove redundant dirty/reachable_here calls in GC_malloc_explicitly_typed
  • Update and fix diagrams describing the tree structure for pointer lookups
  • Use atomic store to set GC_first_nonempty in GC_do_parallel_mark
  • Use atomic store to set entry id and update cache_ptr in slow_getspecific
  • Workaround '.obj file not found' error reported by watcom wlib

Build status

Travis CI build
AppVeyor CI build
Github actions build

Distribution tarball

gc-8.2.8.tar.gz (see the Assets, md5: ad7298be1a300fc0ce75196718036c61)

8.0.14

07 Sep 18:21
Compare
Choose a tag to compare

Changes

  • Avoid gcc stringop-overflow warning for intended overflow in smashtest
  • Disable backtrace saving at garbage collections if DONT_SAVE_TO_LAST_STACK
  • Eliminate 'cast signed to bigger unsigned' CSA warnings in GC_find_limit
  • Fix ADD_CALL_CHAIN() placement to follow GC_store_debug_info_inner call
  • Fix GC_debug_realloc to support custom kind
  • Fix GC_is_visible for case of arg pointing exactly to object upper bound
  • Fix GC_print_trace_inner to print the last element of the circular buffer
  • Fix cordtst2.tmp file deletion in cordtest on Windows
  • Fix double lock in GC_malloc called from backtrace()
  • Fix heap blocks size computation by GC_get_memory_use
  • Fix indent of a closing curly braces in GC_apply_to_all_blocks
  • Fix infinite resend lost signals if a thread is restarted by SIGQUIT
  • Fix null pointer dereference in GC_is_visible if type_descr is null
  • Fix per_object_helper() after changing hb_sz units
  • Fix pointer relational comparison in GC_do_enumerate_reachable_objects
  • Fix poor thread-local allocation performance because of double EXTRA_BYTES
  • Fix potential GC_add_roots_inner call with an overflowed pointer (Win32)
  • Fix potential address overflow in GC_add_to_heap
  • Fix potential buffer overrun during read in GC_text_mapping
  • Fix typos in comments
  • Prevent GC_noop_sink from scanning by the collector
  • Prevent redirected malloc call from a garbage collection routine
  • Remove redundant dirty/reachable_here calls in GC_malloc_explicitly_typed
  • Update and fix diagrams describing the tree structure for pointer lookups

Build status

Travis CI build
AppVeyor CI build

Distribution tarball

gc-8.0.14.tar.gz (see the Assets, md5: 22721960fc4a6ed7fa39bd6d4985ee40)

7.6.22

07 Sep 08:26
Compare
Choose a tag to compare

Changes

  • Avoid gcc stringop-overflow warning for intended overflow in smashtest
  • Eliminate 'cast signed to bigger unsigned' CSA warnings in GC_find_limit
  • Fix ADD_CALL_CHAIN() placement to follow GC_store_debug_info_inner call
  • Fix GC_debug_realloc to support custom kind
  • Fix GC_is_visible for case of arg pointing exactly to object upper bound
  • Fix GC_print_trace_inner to print the last element of the circular buffer
  • Fix cordtst2.tmp file deletion in cordtest on Windows
  • Fix double lock in GC_malloc called from backtrace()
  • Fix heap blocks size computation by GC_get_memory_use
  • Fix indent of a closing curly braces in GC_apply_to_all_blocks
  • Fix null pointer dereference in GC_is_visible if type_descr is null
  • Fix per_object_helper() after changing hb_sz units
  • Fix pointer relational comparison in GC_do_enumerate_reachable_objects
  • Fix poor thread-local allocation performance because of double EXTRA_BYTES
  • Fix potential GC_add_roots_inner call with an overflowed pointer (Win32)
  • Fix potential address overflow in GC_add_to_heap
  • Fix potential buffer overrun during read in GC_text_mapping
  • Fix typos in comments
  • Prevent GC_noop_sink from scanning by the collector
  • Prevent redirected malloc call from a garbage collection routine
  • Remove redundant dirty/reachable_here calls in GC_malloc_explicitly_typed
  • Update and fix diagrams describing the tree structure for pointer lookups

Build status

Travis CI build
AppVeyor CI build

Distribution tarball

gc-7.6.22.tar.gz (see the Assets, md5: 6abe6ad592e1976d7a28e5661a8ea7c9)

7.4.28

07 Sep 06:56
Compare
Choose a tag to compare

Changes

  • Avoid gcc stringop-overflow warning for intended overflow in smashtest
  • Fix ADD_CALL_CHAIN() placement to follow GC_store_debug_info_inner call
  • Fix GC_is_visible for case of arg pointing exactly to object upper bound
  • Fix GC_print_trace_inner to print the last element of the circular buffer
  • Fix cordtst2.tmp file deletion in cordtest on Windows
  • Fix double lock in GC_malloc called from backtrace()
  • Fix indent of a closing curly braces in GC_apply_to_all_blocks
  • Fix null pointer dereference in GC_is_visible if type_descr is null
  • Fix per_object_helper() after changing hb_sz units
  • Fix poor thread-local allocation performance because of double EXTRA_BYTES
  • Fix potential GC_add_roots_inner call with an overflowed pointer (Win32)
  • Fix potential address overflow in GC_add_to_heap
  • Fix potential buffer overrun during read in GC_text_mapping
  • Fix typos in comments
  • Prevent redirected malloc call from a garbage collection routine
  • Remove redundant dirty/reachable_here calls in GC_malloc_explicitly_typed
  • Update and fix diagrams describing the tree structure for pointer lookups

Build status

Travis CI build
AppVeyor CI build

Distribution tarball

gc-7.4.28.tar.gz (see the Assets, md5: ab05315b0be2867f0e5e8b5cbe77f418)

7.2s

06 Sep 21:55
Compare
Choose a tag to compare

Changes

  • Avoid gcc stringop-overflow warning for intended overflow in smashtest
  • Eliminate 'type defaults to int in declaration' warning (REDIRECT_MALLOC)
  • Eliminate 'value exceeds maximum object size' GCC warning in huge_test
  • Eliminate warning and simplify expression in GC_init_explicit_typing
  • Fix 'GetVersion deprecated' compiler warning in os_dep (MS VC)
  • Fix 'value truncated' compiler warning in CORD_cat (MS VC)
  • Fix ADD_CALL_CHAIN() placement to follow GC_store_debug_info_inner call
  • Fix GC_is_visible for case of arg pointing exactly to object upper bound
  • Fix GC_jmp_buf multiple definition
  • Fix GC_print_trace_inner to print the last element of the circular buffer
  • Fix double lock in GC_malloc called from backtrace()
  • Fix indent of a closing curly braces in GC_apply_to_all_blocks
  • Fix null pointer dereference in GC_is_visible if type_descr is null
  • Fix per_object_helper() after changing hb_sz units
  • Fix poor thread-local allocation performance because of double EXTRA_BYTES
  • Fix potential GC_add_roots_inner call with an overflowed pointer (Win32)
  • Fix potential address overflow in GC_add_to_heap
  • Fix potential buffer overrun during read in GC_text_mapping
  • Fix typos in comments
  • Prevent compiler warnings regarding unused argument and printf in extra
  • Prevent redirected malloc call from a garbage collection routine
  • Remove barrett_diagram file duplicated by tree.html
  • Remove non-existing DISCARD_WORDS from GC data structure ASCII diagram
  • Resolve GCC warning in setjmp_t.c
  • Update and fix diagrams describing the tree structure for pointer lookups

Build status

Travis CI build
AppVeyor CI build

Distribution tarball

gc-7.2s.tar.gz (see the Assets, includes a copy of libatomic_ops-7.2l, md5: 268deee462882d079cec2e1be0316474)

8.2.6

04 Feb 08:24
Compare
Choose a tag to compare

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)

8.0.12

03 Feb 21:55
Compare
Choose a tag to compare

Changes

  • Eliminate 'make_key is defined but unused' gcc warning in threadkeytest
  • Eliminate 'unused parameter' gcc warning in free() if IGNORE_FREE
  • Eliminate 'unused value' gcc warnings in init_global_static_roots (Symbian)
  • Eliminate compiler warning of missing cast in LONG_MULT after shift
  • 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 '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 '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 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 extra 'extern C' for include signal.h in gcconfig.h
  • 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 outermost parentheses in CORD_pos_cur_char_addr
  • Fix missing outermost parentheses in macro definitions in huge test
  • 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 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

Build status

Travis CI build
AppVeyor CI build

Distribution tarball

gc-8.0.12.tar.gz (see the Assets, md5: d9aad34402106ac31d9acdc7da139a37)

7.6.20

03 Feb 16:51
Compare
Choose a tag to compare

Changes

  • Eliminate 'unused parameter' gcc warning in free() if IGNORE_FREE
  • Eliminate 'unused value' gcc warnings in init_global_static_roots (Symbian)
  • Eliminate compiler warning of missing cast in LONG_MULT after shift
  • Fix 'g++ not found' error on OpenBSD (Makefile.direct)
  • 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 'missing sysconf() prototype' gcc error in setjmp_t tool (OpenBSD)
  • Fix 'sigset_t undeclared' MS VC error if pthreads-w32 is used
  • 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 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 bitwise negation and rounding direction in setjmp_t tool
  • Fix closing bracket placement for case statement in configure
  • 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 outermost parentheses in CORD_pos_cur_char_addr
  • Fix missing outermost parentheses in macro definitions in huge test
  • 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 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

Build status

Travis CI build
AppVeyor CI build

Distribution tarball

gc-7.6.20.tar.gz (see the Assets, md5: 0fffca82c939a5fea6b324a3ecc8b0f9)

7.4.26

03 Feb 16:05
Compare
Choose a tag to compare

Changes

  • Eliminate 'unused parameter' gcc warning in free() if IGNORE_FREE
  • Eliminate 'unused value' gcc warnings in init_global_static_roots (Symbian)
  • Fix 'g++ not found' error on OpenBSD (Makefile.direct)
  • 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 'missing sysconf() prototype' gcc error in setjmp_t tool (OpenBSD)
  • 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 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 bitwise negation and rounding direction in setjmp_t tool
  • Fix closing bracket placement for case statement in configure
  • Fix indent of a closing curly brace in GC_forward_exception
  • Fix missing GC_pthread_sigmask on FreeBSD and NetBSD
  • Fix missing outermost parentheses in CORD_pos_cur_char_addr
  • 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 skipped removal of page protection in case of address hash collision
  • Fix typos in comments
  • Fix update of last_back_trace_gc_no if KEEP_BACK_PTRS is not defined

Build status

Travis CI build
AppVeyor CI build

Distribution tarball

gc-7.4.26.tar.gz (see the Assets, md5: 7d46a848ede1b5a23bd7603eac5e862c)

7.2r

03 Feb 15:32
Compare
Choose a tag to compare

Changes

  • Fix 'g++ not found' error on OpenBSD (Makefile.direct)
  • Fix 'implicit declaration of iscntrl()' warning in cord/de_win (MinGW)
  • Fix 'info' buffer potential overrun in GC_save_callers
  • Fix 'missing sysconf() prototype' gcc error in setjmp_t tool (OpenBSD)
  • 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 bitwise negation and rounding direction in setjmp_t tool
  • Fix closing bracket placement for case statement in configure
  • Fix indent of a closing curly brace in GC_forward_exception
  • Fix missing outermost parentheses in CORD_pos_cur_char_addr
  • 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 skipped removal of page protection in case of address hash collision
  • Fix typos in comments
  • Fix update of last_back_trace_gc_no if KEEP_BACK_PTRS is not defined

Build status

Travis CI build
AppVeyor CI build

Distribution tarball

gc-7.2r.tar.gz (see the Assets, includes a copy of libatomic_ops-7.2l, md5: aeaaa5b8a221ccca9416a392a4b3be70)