Skip to content

Releases: ivmai/bdwgc

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

6.8

16 May 19:08
Compare
Choose a tag to compare
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