Releases: ivmai/bdwgc
Releases · ivmai/bdwgc
7.2d
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
7.2c
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
7.2b
Changes
- Fix assertion in GC_malloc_[atomic_]uncollectable (THREADS case only)
Distribution Tarball
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
7.3-alpha2
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
6.8
Changes:
- Added some support for Dragonfly BSD (thanks to Joerg Sonnenberger and
Thomas Klausner). - Improvements to the HP/UX section of configure.in/configure.ac (thanks
to Andreas Tobler). - GC_unix_get_mem could neglect to release the malloc lock on Irix, under
extremely unlikely circumstances. (Thanks to Jean-Baptiste Nivois for
some careful code inspection.) - Added support for kFreeBSD + glibc (thanks to Petr Salinger).
- Fix more MacOS threads memory leaks (thanks to Allan Hsu).
- Added initial Solaris/X86-64 support (thanks to Rainer Orth).
Distribution Tarball:
gc6.8.tar.gz