Skip to content

Releases: ivmai/bdwgc

7.2g

16 May 18:50
Compare
Choose a tag to compare

Changes

  • Fix 'illegal option -xassembler-with-cpp' error (Oracle SunCC)
  • Fix 'implicit declaration of function' compiler warnings in cord/de
  • Fix CFLAGS in configure regarding -O flag passing to SunCC compiler
  • Fix FirstDLOpenedLinkMap for case libgc not 1st dynamically linked (NetBSD)
  • Fix GC initialization in cord de_win for Cygwin
  • Fix GC_get_stack_base if called before GC_init (Win32)
  • Fix OSX issue with pthread_attr_setstacksize failure
  • Fix Unicode Win32 API calls in cord de_win
  • Fix USE_COMPILER_TLS macro duplicate description in README
  • Fix cord de_win WndProc prototype parameters for 64-bit (Win64)
  • Fix file descriptor resource leak in GC_register_data_segments (OS/2)
  • Fix filename printing in cordtest
  • Fix missing cord_pos.h, ec.h among installed headers (Automake)
  • Fix missing GC_get_stack_base for Amiga
  • Fix missing msvc_dbg.h in dist_noinst_HEADERS (Automake)
  • Fix mistyped ARM_THREAD_STATE macro (Darwin/arm)
  • Fix null-pointer dereferences on out-of-memory in cord and tests
  • Fix potential multiplication overflow in check_heap_stats (gctest)
  • Fix race (and potential deadlock) at marker threads initialization
  • Fix signedness of char values passed to isspace, iscntrl, isxdigit
  • Fix typo (items numbering) in GC_finalize_all documentation
  • Fix typos in ERROR_FL, GC_malloc_uncollectable comments
  • Fix typos in gc_priv.h, in README for ews4800
  • Fix unresolved vsnprintf in misc.c and snprintf in cordtest (DJGPP, VC)
  • Fix various spelling errors
  • Fix vsprintf_args initialization/cleanup in CORD_vsprintf for EMX
  • Regenerate configure files using official libtool release (v2.4.2)
  • Remove documentation about obsolete GC_REDIRECT_TO_LOCAL
  • Skip GC_DS_PER_OBJECT objects with negative descriptor in GC_mark_from
  • windows-untested: Fix paths to msvc_dbg.c/h

Distribution Tarball

gc-7.2g.tar.gz

7.2f

16 May 19:18
Compare
Choose a tag to compare

Changes

  • Fix 'Bad signal in suspend_handler' abort on FreeBSD-9.2
  • Fix 'source file in a subdirectory' Automake warnings
  • Fix ABORT message in GC_restart_handler
  • Fix ADD_DEFINITION in CMakeLists.txt for kFreeBSD
  • Fix CMakeLists.txt: do not override CMAKE_OSX_ARCHITECTURES
  • Fix GC_alloc_large by bumping GC_collect_at_heapsize in GC_add_to_heap
  • Fix GC_scratch_last_end_ptr update on GC_scratch_alloc failure
  • Fix GET_MEM argument rounding in GC_scratch_alloc and similar
  • Fix PARALLEL_MARK for Windows 7+
  • Fix build (broken by fenv.h inclusion) on Linux/x86_64 under uClibc
  • Fix crash when using GC_malloc_many() as first allocation call
  • Fix mark stack excessive growth during parallel mark
  • Fix or remove broken URLs in documentation
  • Fix out-of-memory case in new_back_edges, push_in_progress (backgraph)
  • Fix typo in GC_collect_or_expand comment
  • Fix typos in GC overview file, gc_config_macros.h, gc_cpp.h, README.changes
  • Regenerate configure files by automake 1.14.1, libtool 2.4.2.418
  • Update emails/links due to project site and ML transition

Distribution Tarball

gc-7.2f.tar.gz

7.4.2

16 May 19:29
Compare
Choose a tag to compare
7.4.2 Pre-release
Pre-release

Changes

  • Add config option to use STGRTMIN-based signals for thread suspend/resume
  • Allow parallel mark to be enabled on powerpc-linux systems
  • Check for Fujitsu compiler in builtin_unwind logic (enable FX10/K-Computer)
  • Fix 'Array subscript is above array bounds' GCC warning in GC_new_kind/proc
  • Fix 'attribute declaration must precede definition' warning (clang-3.1)
  • Fix (enable) Cygwin-64 build
  • Fix GC_finalized_malloc failure on disclaim_test
  • Fix GC_sig_suspend initialization when non-constant SIGRTMIN used
  • Fix MS VC redefinition warning for functions declared with GC_ATTR_MALLOC
  • Fix TEXT() usage for concatenated strings in GC_CreateLogFile (Win32)
  • Fix data roots registration for Android/x86 and NDK ARM 'gold' linker
  • Fix find stackbottom on BlueGene P/Q systems
  • Fix machdep .lo files path in configure (SPARC, IA-64)
  • Fix ok_init assignment (missing cast) in GC_new_kind_inner
  • Fix typos in names in AUTHORS and ChangeLog files
  • Remove barrett_diagram file duplicated by tree.html
  • Remove non-existing DISCARD_WORDS from GC data structure ASCII diagram
  • Restore contribution information for ancient releases in ChangeLog
    Also, includes 7.2f changes

Distribution Tarball

gc-7.4.2.tar.gz

7.4.0

16 May 19:26
Compare
Choose a tag to compare
7.4.0 Pre-release
Pre-release

Changes

  • Add 'bytes reclaimed' counters to public GC_prof_stats_s
  • Add AArch64 (64-bit ARM) target support
  • Add GC_LONG_REFS_NOT_NEEDED ifdefs to exclude long link functionality
  • Add GC_get_prof_stats_unsafe to GC public API
  • Add GC_push_all/conditional() to GC public API
  • Add assertion on number_of_objs to GC_extend_size_map
  • Add assertion to GC_enable() ensuring no counter underflow
  • Add assertion to LOCK definition that lock is not already held
  • Add assertion to LONG_MULT and remove useless assert in PUSH_CONTENTS_HDR
  • Add double-lock assertion to GC_acquire_mark_lock
  • Add manual POSIX fork handling support (Android)
  • Add note about 'pkg-config' solving problem with autoconf 2.68 or older
  • Add public GC_set/get_abort_func to replace default GC_on_abort
  • Add public GC_start_mark_threads() to allow parallel marker in fork child
  • Add public setter and getter for GC_push_other_roots
  • Add support of Android logger
  • Add tests for GC_register/move/unregister_long_link
  • Add thread suspend/resume signals public setters (POSIX threads)
  • Added long weakref support
  • Adjust GC_dont_expand/gc/precollect and GC_print_stats type to match gc.h
  • Adjust README.md title and references to doc .html files in it
  • Adjust build scripts to enable additional test library in staticrootstest
  • Adjust logged messages in start_mark_threads and GC_thr_init
  • Adjust printf format specifiers in GC_print_trace
  • Allow not to rely on __data_start value (Linux)
  • Allow pthread_kill error code logging in GC_suspend/resume (debugging)
  • Allow to compile GC_inner_start_routine aside from extra/gc.c
  • Allow to omit libc atexit() call
  • Avoid LOCK/UNLOCK hard-coding in gc_locks.h for PS3 target
  • Better document GC_warn_proc in gc.h
  • Call GC_on_abort (with NULL argument) on exit(1)
  • Call GC_stats/verbose_log_printf instead of GC_log_printf if print_stats
  • Change policy regarding version numbers ("micro" part instead of "alpha")
  • Changed C99-style designated init of GC_dl_hashtbl struct to use C89-style
  • Check GC_base result in GC_print_all_smashed_proc
  • Check that SIG_SUSPEND and SIG_THR_RESTART are different (Pthreads)
  • Check traceable_allocator.allocate result before dereference in test_cpp
  • Code refactoring of GC_x_printf (move shared code to macro)
  • Convert readme to markdown
  • Default to use libc_stack_end in single-threaded GC on glibc targets
  • Define GC_VSNPRINTF internal macro in misc.c (code refactoring)
  • Define functions in darwin_semaphore.h as inline instead of static
  • Define old_bus_handler static variable only if used (Unix)
  • Detect dladdr() presence by configure
  • Disable find-leak GC_gcollect on GC abnormal EXIT
  • Do not define _setjmp/_longjmp macros in mach_dep.c
  • Do not duplicate android_log_write output to GC log file (Android)
  • Do not include sigcontext.h if NO_SIGCONTEXT_H (Linux)
  • Do not set GC_lock_holder by call_with_alloc_lock if assertions disabled
  • Do not use pthread_getattr_np if NO_PTHREAD_GETATTR_NP specified
  • Elaborate comment on dependencies in autogen.sh
  • Eliminate 'cast from int to pointer' warning in GC_exclude_static_roots
  • Eliminate 'missing exception specification' warning in gc_cpp.cc (Clang)
  • Eliminate 'uninitialized variable use' warning in test_printf (cord)
  • Eliminate 'unused result' compiler warning in main() of test_cpp
  • Eliminate 'unused value' compiler warning in GC_stop_world (Pthreads)
  • Eliminate 'unused variable' compiler warning in start_mark_threads (HP/UX)
  • Eliminate Clang warning for GC_pthread_exit attribute
  • Eliminate GCC warning about uninitialized 'hhdr' in GC_allochblk_nth
  • Eliminate GCC warning in GC_get_main_stack_base (OpenBSD)
  • Eliminate GCC warnings in setjmp_t.c, test_cpp and cord 'de' app
  • Eliminate GC_first_nonempty atomic value reload in GC_mark_local assertion
  • Eliminate SIGBUS-related dead code in GC_write_fault_handler (Linux)
  • Eliminate warning and simplify expression in GC_init_explicit_typing
  • Enable 'force GC at every GC_malloc' debug-related functionality
  • Enable on-demand debug logging in GC_FindTopOfStack (Darwin)
  • Enable prefetch operations by default (GCC 3.0+)
  • Enable staticrootstest for the case of GC shared library build
  • Enable thread-local allocation support for Clang on Cygwin
  • Explicitly specify that Darwin, Linux and Solaris platforms have dladdr
  • Fix ABORT definition for mingw32ce (WinCE)
  • Fix AM_CONFIG_HEADER in configure for autoconf-2.69-1
  • Fix GC_CreateThread and GC_beginthreadex definition for Cygwin
  • Fix GC_INIT_CONF_ROOTS in gc.h for Android
  • Fix GC_INLINE definition to comply with ISO C90 standard (GCC)
  • Fix GC_remove_all_threads_but_me for Android (fork support)
  • Fix debug_register_displacement calls from GC_debug_generic_malloc_inner
  • Fix dyn_load.c compilation for Android 4.3
  • Fix make disclaim_test to link with new GNU ld linking rules
  • Improve GC error printing atomicity in GC_debug_X and GC_print_obj
  • Improve GC output atomicity in GC_print_obj, GC_print_all_errors
  • Improve debug-only messages of add/remove_roots and init_linux_data_start
  • Improve fork test logging in gctest
  • Improve logged messages about heap size and usage
  • Improve logging for Android differentiating messages by log level
  • Improve staticrootstest (add global data to library, add lib w/o GC_INIT)
  • Improve staticrootstest checks (tests)
  • Include "config.h" instead of "private/config.h" on HAVE_CONFIG_H
  • Include proper header file in 'tools' for configuration macros
  • Include pthread_np.h from pthread_stop_world.c on OpenBSD
  • Log error messages to stderr instead of stdout in tests
  • Make GC_generic_malloc_ignore_off_page() public
  • Make GC_mark_lock_holder variable static
  • Make GC_print_trace always thread-safe and remove 'lock' argument
  • Mark GC_started_thread_while_stopped() as GC_INNER
  • Minimize code duplication in GC_mark_and_push
  • Move 'include setjmp.h' from mach_dep.c to gc_priv.h
  • Move GC_OPENBSD_UTHREADS definition to private/gcconfig.h (OpenBSD)
  • Move GC_get_suspend/thr_restart_signal to misc.c for NaCl and OpenBSD
  • Move LOCK/UNLOCK from GC_unregister_disappearing_link_inner outer
  • Port BDWGC to Android/x86
  • Postpone the suspend signal in GC_dirty_init only if used to stop world
  • Prepend '#' symbol to GC number in logged messages
  • Prevent POSIX fork if mprotect_thread is started (Darwin)
  • Prevent abort on GC_err/warn_printf write failure
  • Prevent misleading AC_MSG_ERROR/AS_IF errors reported in configure.ac
  • Put gc_cpp symbols into 'boehmgc' namespace if GC_NAMESPACE defined
  • Recognize GC_DONT_GC macro in gc.h (causes GC_INIT to turn off GC)
  • Recognize GC_SIG_SUSPEND and GC_SIG_THR_RESTART tuning macros in gc.h
  • Redirect WRITE to __android_log_write if GC_ANDROID_LOG (Android)
  • Refine comment of GC_is_heap_ptr and GC_thread_is_registered in gc.h
  • Register dynamic libraries via dl_iterate_phdr on Android and OpenBSD
  • Remove DebugBreak on WriteFile failure (Win32)
  • Remove GC_BUILD definition from build scripts
  • Remove abort on open log failure from GC_write (Win32)
  • Remove configure.ac outdated revision number
  • Remove nested EXPECT in GC_core_finalized_malloc
  • Remove nested always-false ifdef for HPUX and FREEBSD
  • Remove redundant GC_err_printf before abort
  • Remove unused UTHREAD_SP_OFFSET macro (OpenBSD)
  • Rename subthread_create to subthreadcreate_test (Makefile)
  • Replace GC_COND_LOG_PRINTF calls with WARN for allocation failure messages
  • Replace GC_log/err_printf() followed by ABORT with ABORT_ARGn()
  • Replace GC_stats_log_printf with GC_DBG/INFOLOG_PRINTF
  • Replace SIG_SUSPEND/THR_RESTART macros to variables in pthread_stop_world
  • Replace Win32 GC_delete_gc_thread with GC_delete_gc_thread_no_free
  • Replace conditional GC_log_printf calls with GC_COND/VERBOSE_LOG_PRINTF
  • Replace sprintf with defensive snprintf
  • Replace var-args GC_noop with GC_noop6 (to eliminate Clang warning)
  • Simplify LOCK/UNLOCK macro definition for static code analysis tools
  • Specify GC_malloc result is unused in some tests
  • Specify GC_pthread_join result is unused in threadkey_test
  • Specify LT_INIT in configure.ac
  • Start of port to QNX
  • Support rthreads introduced in OpenBSD 5.2+
  • Suppress 'GC_dont_gc deprecated' warning in gc.h if GC_DONT_GC
  • Tag GC malloc routines with alloc_size attribute for Clang 3.2+
  • Test NO_WRAP_MARK_SOME macro to suppress WRAP_MARK_SOME-specific code
  • Turn off GC_LOOP_ON_ABORT functionality if GC compiled with NO_DEBUGGING
  • Turn on world-stop delay logging at debug level by default for Android
  • Use EXPECT in GC_COND/VERBOSE_LOG_PRINTF
  • Use GC_log_printf for logging instead of GC_[err_]printf
  • Use compiler TLS for Android NDK gcc/arm
  • Use memcpy (BCOPY) instead of strcpy (to suppress GCC warning)
  • Use pthread API to operate thread-local data on Linux if no compiler TLS
  • Workaround 'ELF_DATA/EM_ALPHA redefined' warning in Android linker.h
  • Workaround 'unresolved __tls_get_addr' error for Android NDK Clang
    Also, includes 7.2e, 7.2d, 7.2c, 7.2b changes

Distribution Tarball

gc-7.4.0.tar.gz

7.2e

16 May 19:17
Compare
Choose a tag to compare

Changes

  • Add weak attribute to avoid __data_start undefined messages (s390x)
  • Add weak stubs for pthread_cancel API
  • Adjust 'pthread_[un]register_cancel undefined ref' workaround (Pthreads)
  • Append _test suffix to 'initsecondarythread' binary file names
  • Enable PARALLEL_MARK and THREAD_LOCAL_ALLOC for FreeBSD in configure
  • Fix 'stack section' pointer passed to push_all_stack_sections (Pthreads)
  • Fix GC_CreateThread 'dwStackSize' argument type for Win64
  • Fix GC_PTHREAD_PTRVAL definition for GC_PTHREADS_PARAMARK (Win32)
  • Fix GC_clear_stack by declaring 'dummy' local array as volatile
  • Fix GC_get_stack_base assembly code (Cygwin/Clang)
  • Fix GC_malloc_explicitly_typed_ignore_off_page for large allocations
  • Fix GC_marker_Id elements initialization (WinCE)
  • Fix GC_print_trace missing unlock
  • Fix GC_unix_mmap_get_mem for open of /dev/zero failure
  • Fix GC_win32_free_heap compilation error for Cygwin
  • Fix GC_win32_free_heap to prevent memory leak if USE_GLOBAL_ALLOC
  • Fix Win32 GC_write preventing potential infinite recursion at abort
  • Fix assertion violation in GC_mark_from prefetch loop
  • Fix collection of objects referenced only from GC_mark_stack_X variables
  • Fix dwSize argument of VirtualFree call in detect_GetWriteWatch (Win32)
  • Fix heap sections overflow for Win32/Cygwin with enabled parallel marker
  • Fix min_bytes_allocd preventing potential infinite loop in GC_allocobj
  • Fix missing tabs in SMakefile.amiga file
  • Fix null-pointer dereference in CORD_substr_closure
  • Fix old_segv/bus_act variables initialization for FreeBSD
  • Fix potential double fclose in test_extras (cordtest)
  • Fix pthread_attr_t resource leak in pthread_create
  • Fix race in GC_print_all_errors regarding GC_leaked
  • Fix sizeof in GC_push_thread_structures
  • Fix stackbottom/stack_end assignment in GC_call_with_gc_active
  • Fix tests makefile to link with new GNU ld linking rules
  • Fix typos in comments and documentation
  • Fix unportable '==' test operators in configure
  • Fix vsprintf_args cleanup in CORD_vsprintf
  • Merge FreeBSD New ports collection for boehm-gc v7.2d
  • Replace GC_DBG_RA with GC_DBG_EXTRAS macro
  • Replace deprecated [CXX]INCLUDES to AM_C[PP]FLAGS in configure.ac file
  • Use __builtin_extract_return_addr in GC_RETURN_ADDR_PARENT (gcc/x86)

Distribution Tarball

gc-7.2e.tar.gz

7.2d

16 May 19:16
Compare
Choose a tag to compare

Changes

  • Fix GC_call_with_stack_base to prevent its tail-call optimization
  • Fix all address-of-dummy operations by using GC_approx_sp() instead
  • Fix stop_info.stack_ptr assignment in GC_suspend_all for OpenBSD
  • Fix test_cpp (ensure the collector recognizes pointers to interiors)
  • Fix thread-related tests for pthreads-w32
  • test_cpp: Fix WinMain to prevent SEGV if zero arguments passed (MinGW)

Distribution Tarball

gc-7.2d.tar.gz

7.2c

16 May 19:14
Compare
Choose a tag to compare

Changes

  • Fix CORD_cat_char_star to prevent SEGV in case of out-of-memory
  • Fix GC_FirstDLOpenedLinkMap() for NetBSD 6 release
  • Fix GC_scratch_alloc and GC_get_maps invocations to prevent SEGV
  • Fix visibility of GC_clear/set_mark_bit (unhide symbols)
  • Fix visibility of GC_push_all/conditional, GC_push_other_roots symbols

Distribution Tarball

gc-7.2c.tar.gz

7.2b

16 May 19:13
Compare
Choose a tag to compare

Changes

  • Fix assertion in GC_malloc_[atomic_]uncollectable (THREADS case only)

Distribution Tarball

gc-7.2b.tar.gz

7.2

16 May 19:11
Compare
Choose a tag to compare
7.2

Changes

  • Abort in GC_thr_init on pthread_atfork failure (POSIX threads)
  • Add GC_WIN32_PTHREADS target in configure
  • Add GC_is_disabled new function to GC API
  • Add info that getcontext() resets FPE mask no longer on Linux/x86_64
  • Add public GC_set_handle_fork to control forked child handling support
  • Add realloc_test.c test
  • Add support for Hexagon target
  • Add thread-safe GC_get_heap_usage_safe to GC API
  • Change GC_check_fl_marks prototype and implementation
  • Check pthread_create/join result in test
  • Define GC_DLL (in configure) if building only dynamic libraries
  • Define NO_DEBUGGING (in configure) if "--disable-gc-debug" is set
  • Disable incremental mode on Darwin if fork handling requested
  • Enable parallel marker in configure for Solaris
  • Fix "comparison of signed and unsigned values" compiler warnings
  • Fix 'volatile' keyword placement in GC_SysVGetDataStart
  • Fix ALIGNMENT, CPP_WORDSZ, GC_GRANULE_BYTES/WORDS for x32 target
  • Fix GC_READ_ENV_FILE code for Cygwin
  • Fix GC_add_roots_inner for Mac OS X (align segment start)
  • Fix GC_check_fl_marks regarding concurrent access
  • Fix GC_finalizer_nested size to workaround alignment problem in Watcom
  • Fix GC_find_limit_with_bound to always reset fault handler on return
  • Fix GC_init static assertion for clang/x64 (Darwin)
  • Fix GC_init[_lib_bounds] and GC_get_main_stack_base for malloc redirection
  • Fix GC_push_all/selected boundaries check
  • Fix GC_register_my_thread marking thread as detached (Cygwin/pthreads-w32)
  • Fix GC_remove_all_threads_but_me to cleanup thread-specific data storage
  • Fix GC_restart_handler to preserve errno if needed
  • Fix GC_root_size update in GC_add_roots_inner (Win32)
  • Fix GC_unregister_my_thread to ensure no ongoing incremental GC (Win32)
  • Fix GC_with_callee_saves_pushed for clang (disable __builtin_unwind_init)
  • Fix calloc, GC_generic_malloc to check for allocation size overflows
  • Fix compiler warning in GC_dyld_image_add/remove (Darwin)
  • Fix configure --enable-cplusplus make install
  • Fix configure to disable GCC aliasing optimization unless forced to
  • Fix duplicate definitions in gcconfig.h for NetBSD
  • Fix fork() support on Cygwin and Darwin targets
  • Fix gc.h compatibility regression regarding GC_PTR, GC_I_HIDE_POINTERS
  • Fix gc_cpp.cc for Cygwin (remove duplicate function definition)
  • Fix gcconfig.h to define USE_GET_STACKBASE_FOR_MAIN for Android
  • Fix gcconfig.h to handle mips64-linux target
  • Fix gctest (for Win32) to avoid GC_print_stats internal variable usage
  • Fix mach_dep.c to include sys/ucontext.h on Mac OS X 10.6
  • Fix tests to check GC_malloc result for NULL (out-of-memory)
  • Fix thread model in configure for MinGW ("win32" instead of "posix")
  • Fix various warnings reported by LINT-like tools
  • Fix visibility of some GC internal symbols used by GNU GCJ currently
  • Port some thread tests to Win32
  • Refine API GC setters and getter comments regarding locking
  • Refine GC_stackbottom description in gc.h
  • Remove duplicate calls in GC_register_dynamic_libraries
  • Remove locking in API GC_get_bytes_since_gc and friends
  • Remove newly-added GC_get_heap_size/free_bytes_inner from API
  • Remove some local variables that are unused
  • Support multi-threading for RTEMS target
  • Use global GC_noop_sink variable in GC_noop1 to suppress compiler warning
  • Use pkg-config to pick up libatomic_ops, etc
  • Workaround some Linux/arm kernels bug to get correct GC_nprocs value

Distribution Tarball

gc-7.2.tar.gz

7.3-alpha2

16 May 19:22
Compare
Choose a tag to compare
7.3-alpha2 Pre-release
Pre-release

Changes

  • Add 'const' qualifier to pointer argument of some API functions
  • Add GC_UNDERSCORE_STDCALL, UNICODE macro templates to configure (Win32)
  • Add GC_get_thr_restart_signal, GC_thread_is_registered to GC API
  • Add GC_is_heap_ptr, GC_move_disappearing_link to GC API
  • Add SHORT_DBG_HDRS macro template to configure
  • Add Symbian port to mainline (porting done by Djamel Magri)
  • Add TODO file
  • Add assertion ensuring proper alignment of 'pushed' GC symbols
  • Add assertion in GC_getspecific on qtid
  • Add assertion to GC_incremental_protection_needs, refine documentation
  • Add assertion to check GC_large_free_bytes by GC_finish_collection
  • Add configure option to compile all library .c files into single gc.o
  • Add cordtest to make check
  • Add disclaim callbacks for efficient finalization (ENABLE_DISCLAIM)
  • Add finalization.html to 'doc' folder
  • Add javaxfc.h to the installation set of GC header files (configure)
  • Add on-heap-resize event notification to API
  • Adjust GC_log_printf format specifiers (regarding signed/unsigned long)
  • Adjust GC_requested_heapsize on GC_init if GC_INITIAL_HEAP_SIZE given
  • Allow GC_exclude_static_roots() region start to be unaligned
  • Allow Win32 DllMain chaining on the client side
  • Allow to exclude finalization support by GC_NO_FINALIZATION macro
  • Allow to get memory via Win32 VirtualAlloc (USE_WINALLOC) on Cygwin
  • Avoid unnecessary GC_find_limit invocation if GC_no_dls
  • Avoid use of deprecated GC_dont_gc and GC_stackbottom in gctest
  • Cast pointers to word (instead of unsigned long) in specific.h
  • Changed the order in autogen.sh so ltmain exists in time for automake
  • Declare privately and use handy GC_base_C() for constant object pointers
  • Define GC_DLL if DLL_EXPORT at GC build (for Cygwin/MinGW)
  • Define GC_READ_ENV_FILE in configure for WinCE unless gc-debug is off
  • Do not compile backgraph.c unless configure '--enable-gc-debug'
  • Do not compile pthread_stop_world.c for Cygwin/Darwin (configure)
  • Do not install ancient new_gc_alloc.h broken for modern STL (configure)
  • Enable GC_MIN_MARKERS to set minimal number of pthread-based markers
  • Enable PARALLEL_MARK and THREAD_LOCAL_ALLOC for FreeBSD in configure
  • Enable parallel mark by default in configure (Darwin/Linux/Solaris/Win32)
  • Export GC_is_marked, GC_clear/set_mark_bit (for mark-bit manipulation)
  • Extend thread-related debug messages
  • Fix 'configure --enable-cplusplus' for Cygwin/MinGW
  • Fix DATASTART (and other minor improvements) for NaCl target
  • Fix GC_setspecific to prevent garbage collection inside
  • Fix compiler warning in cordtest
  • Fix minor warnings reported by GCC with '-pedantic' option
  • Fix static data roots registration on Android (if GC is shared)
  • Implement GC_get_stack_base for Darwin for single-threaded mode
  • Improve GC_allochblk algorithm of block splitting when unmapping enabled
  • Improve GC_collect_or_expand algorithm for many finalizers registered case
  • In tests, print a message in case a test is a no-op
  • Instruct configure to hide internal libgc.so symbols if supported by GCC
  • Log amount of unmapped memory (if enabled) on marking-for-collection
  • Make __data_start a weak symbol to allow loading modules on mips
  • Move "cord" library tests to "cord/tests" folder
  • Move asm machine-dependent files to "src" folder
  • Move build tools sources to "tools" folder
  • Move cord_pos.h to public headers folder
  • Open log file in APPEND mode on Win32 (similar that on Unix/Cygwin)
  • Optimize some functions by moving pthread_self calls out of LOCK section
  • Place only major per-release changes description to ChangeLog (this file)
  • Prevent compiler warnings in GC_FindTopOfStack and GC_ports (Darwin)
  • Recognize GC_LOG_TO_FILE_ALWAYS macro to log to 'gc.log' by default
  • Remove all auto-generated files from the repo
  • Remove binary icon file for de_win
  • Remove cordtest from "cord" library
  • Remove duplicate MacOS_Test_config.h file
  • Remove gc_amiga_redirects.h (included internally) from public headers
  • Remove obsolete Makefile.DLL (superseded by Cygwin/MinGW configure)
  • Remove obsolete unused asm files for ALPHA, HPUX, SGI, RS6000, ULTRIX
  • Remove unsupported MMAP_STACKS (specific to Solaris threads)
  • Remove unused ancient SILENT, STDC, NO_SIGNALS macros
  • Replace ARGSUSED comment-based annotation with GCC 'unused' attribute
  • Replace GC_ms_entry declaration with opaque definition for public API
  • Replace long GC_markers global variable with int GC_markers_m1
  • Replace pointer relational comparisons with non-pointer ones
  • Replace printf PRIxMAX specifier with '%p' for thread id debug output
  • Require autoconf 2.61 instead of v2.64
  • Simplify autogen.sh (use autoreconf)
  • Split GC_abort with GC_on_abort and abort() invoked from ABORT
  • Support GC_ATTR_MALLOC for MS VisualStudio
  • Tag auxiliary malloc-like API functions with 'malloc' attribute
  • Tag deprecated variables in GC API
  • Tag must-be-non-null arguments of GC API functions
  • Turn on "extra" GCC warnings
  • Turn on unused-parameter checking for GCC
  • Update AUTHORS file
  • Use EXPECT for checking various 'initialized' boolean variables
  • Use USE_COMPILER_TLS on Cygwin
  • Use pthread_key for thread-local storage on FreeBSD
  • Use union of AO_t and word to favor strict-aliasing compiler optimization
    Also, includes 7.2 changes

Distribution Tarball

gc-7.3alpha2.tar.gz