Skip to content

7.4.6

Pre-release
Pre-release
Compare
Choose a tag to compare
@ivmai ivmai released this 26 Oct 05:55
· 3883 commits to master since this release

Note

This release is not recommended for the downstream package maintainers (because of libgc version-info incompatible change).

Changes

  • Add configure --enable-gcov option (enable code coverage analysis)
  • Add configure check whether to define NO_GETCONTEXT
  • Adjust GC_memalign comment
  • Allow HAVE_DL_ITERATE_PHDR to be defined by client (musl)
  • Allow PKG_CHECK_MODULES in configure.ac to be commented out easily
  • Avoid busy waiting in mark_thread while GC_parallel is false
  • Better document minimum value of size argument for typed allocations
  • Change type of THREAD_TABLE_INDEX result to int in win32_threads.c
  • Consistently use 'msec' instead of 'ms' in comments in pthread_support
  • Do not define amiga_get_mem, MacTemporaryNewPtr unless really used (extra)
  • Do not produce .tar.bz2 distribution file (configure)
  • Do not require libatomic_ops for single-threaded builds (configure)
  • Do not warn of missing PT_GNU_RELRO segment when custom DSO filter used
  • Document GWW_VDB in gcdescr.html
  • Eliminate 'cast to void* from int' compiler warnings (Darwin/x64)
  • Eliminate 'conditional expression is always true' code defect in GC_init
  • Eliminate 'FP divide-by-zero' static analyzer warning
  • Eliminate 'incompatible function pointer' warning in mark_some (MinGW/x86)
  • Eliminate 'ISO C forbids an empty translation unit' GCC pedantic warning
  • Eliminate 'ISO C forbids object to function pointer conversion' warning
  • Eliminate 'locally defined symbol imported' MS linker warnings (cord)
  • Eliminate 'null dereference' code defect warning in register_finalizer
  • Eliminate 'possible loss of data' compiler warnings (MS VC)
  • Eliminate 'printf format specifier mismatch' compiler warning (tools)
  • Eliminate 'type defaults to int in declaration' warning (REDIRECT_MALLOC)
  • Eliminate 'value stored is never read' warning of Clang static analyzer
  • Eliminate duplicate log messages in GC_mark_from
  • Eliminate most of collisions in GC_threads on Linux/x64
  • Ensure GC initialized when atfork_prepare is called by client
  • Fix 'arg parameter might be clobbered by setjmp' compiler warning
  • Fix 'bogus LR' detection in FindTopOfStack (Darwin)
  • Fix 'execvp argument incompatible pointer type' compiler warning (tools)
  • Fix 'GetVersion deprecated' compiler warning in os_dep (MS VC)
  • Fix 'incompatible pointer' compiler warning in GC_init_dyld (OS X 64-bit)
  • Fix 'incompatible ptr-to-int conversion' compiler warning in push_all_stack
  • Fix 'ISO C90 does not support %lf, %lg gnu_printf formats' GCC warnings
  • Fix 'ISO C90 forbids mixed declarations and code' compiler warning
  • Fix 'missing libc-version.h' build error (uClibc/x86[_64])
  • Fix 'replacement operator delete cannot be inline' GCC warning (Cygwin)
  • Fix 'variable unused' compiler warning in FirstDLOpenedLinkMap
  • Fix 'zero-size array is extension' Clang warning in os_dep (Linux/x86)
  • Fix (adjust) GC_scratch_alloc actual argument type
  • Fix deadlock in GC_help_marker caused by use of mark_cv of parent process
  • Fix finalize.c compilation in 'strict ANSI' mode
  • Fix GC shared library tests failure related to dl_iterate_phdr (musl)
  • Fix gc.h compliance to strict ANSI (pthreads)
  • Fix GC_bytes_allocd incrementation in case of allocation failure
  • Fix GC_jmp_buf multiple definition
  • Fix GC_noop6 definition to avoid its calls to be optimized away
  • Fix gctest failure if PARALLEL_MARK (musl)
  • Fix gctest thread stack overflow (musl-gcc)
  • Fix initsecondarythread_test runtime failure if GC compiled w/o threads
  • Fix lack of 2 trailing zeros in _MSC_VER numbers
  • Fix local variable declarations in disclaim_bench
  • Fix missing #error pragma
  • Fix missing .exe for disclaim test filenames in Makefile (MinGW)
  • Fix missing atomic/[un]collectable/realloc_count increments in gctest
  • Fix missing new-line and redundant trailing dot in WARN messages
  • Fix missing new-line at format strings end in subthread_create test
  • Fix mixed include of GC public header and gc_priv.h in disclaim bench/test
  • Fix potential overflow in decrement when computing GC_markers_m1
  • Fix printf format specifiers in extra files (cppcheck warnings)
  • Fix pthread_start compilation if single-obj-compilation (Linux)
  • Fix register_finalizer call in disclaim_bench for GC_DEBUG
  • Fix static assertion violation in LONG_MULT for 64-bit targets
  • Fix tag collision between ENABLE_DISCLAIM and KEEP_BACK_PTRS
  • Fix thread id leaks in subthread_create and threadkey_test
  • Fix threaded tests runtime crash if GC_NO_THREAD_REDIRECTS supplied
  • Fix tools/setjmp_t to prevent nested_sp inlining
  • Fix typo in CHECK_GCLIB_VERSION name (test)
  • Fix typos in comments/documentation (ews4800, extend_size_map, push_roots)
  • Fix unchecked fork() result in gctest (Unix, Cygwin)
  • Improve detection of internal libatomic_ops (configure)
  • Move libraries version info to the beginning of Makefile.am
  • Prevent abort in register_data_segments for Symbian
  • Process all PT_LOAD segments before PT_GNU_RELRO segments (Glibc)
  • Refine Makefile.direct comment about multi-threaded GC build
  • Refine README about library source downloading
  • Refine should_invoke_finalizers documentation
  • Remove all generated files by NT_X64_THREADS_MAKEFILE 'clean' target
  • Remove non-existent configure option in simple_example.html
  • Replace C++ style comments to C ones, remove commented out code (extra)
  • Support CFLAGS_EXTRA to pass extra user-defined compiler flags (configure)
  • Support CFLAGS_EXTRA when checking for inline and dladdr (configure)
  • Suppress 'tainted string passed to vulnerable operation' false defects
  • Suppress MS VC warnings about unused param, const condition (NT_MAKEFILE)
  • Update bdwgc mailing list online archive link in documentation
  • Update shared libraries version info to differentiate against v7.2
  • Use AC_DEFINE for defining NO_GETCONTEXT in configure
  • Workaround 'index out of bounds' UBSan false warning in push_marked
  • Workaround 'mmap() resource handle leak' static analyzer warning
  • Workaround 'redundant assignment of *result to itself' cppcheck warning
  • Workaround 'resource leak' error reported by cppcheck (tools, test)
    Also, includes 7.2h changes

Build status

Travis CI build
AppVeyor CI build

Distribution Tarball

gc-7.4.6.tar.gz (see below)