|
@@ -1,4 +1,393 @@
|
|
|
|
|
|
+== [8.3.0] (development) ==
|
|
|
+
|
|
|
+* Add 'lib' prefix to build artifact names in Makefile.direct
|
|
|
+* Add I_HOLD_LOCK assertion to scratch_alloc/recycle and their callers
|
|
|
+* Add assertion to GC_maybe_gc that GC is not in progress
|
|
|
+* Add assertion to ensure GC_unmapped_bytes cannot underflow
|
|
|
+* Add assertions about GC_mark_state to alloc.c and mark.c
|
|
|
+* Add check-deps goal to Makefiles to build the tests but not execute them
|
|
|
+* Add minimal testing of GC_allow_register_threads
|
|
|
+* Add missing cast in GC_is_init_called (refactoring)
|
|
|
+* Add missing undef GC_NO_THREAD_REDIRECTS in threaded tests
|
|
|
+* Adjust comments in block_unmap_inner
|
|
|
+* Adjust comments referring glibc version (documentation)
|
|
|
+* Adjust indentation in C preprocessor directives (reformatting)
|
|
|
+* Adjust naming of Win32/64 and x86/64 words in comments and documentation
|
|
|
+* Adjust printing on amount of unmapped memory after GC
|
|
|
+* Allow custom AO_SRC_DIR, CURSES, EXEEXT, HOSTCC/CFLAGS for Makefile.direct
|
|
|
+* Allow disable USE_PROC_FOR_LIBRARIES even if malloc is redirected on Linux
|
|
|
+* Allow mprotect-based incremental GC on AIX and for all Linux targets
|
|
|
+* Allow passing custom CFLAGS[_EXTRA] to Makefile.direct
|
|
|
+* Allow testing of retry-signals functionality
|
|
|
+* Allow to build with forced WRAP_MARK_SOME
|
|
|
+* Allow to compile tests with custom NTHREADS set to zero
|
|
|
+* Allow to skip heap expansion in GC_init
|
|
|
+* Allow to unmap memory block right in GC cycle where block is freed
|
|
|
+* Allow to use same signal for thread suspend and restart (default on E2K)
|
|
|
+* Always set only one bit past end in GC_set_hdr_marks
|
|
|
+* Assert SET_HDR does not write to GC_all_nils
|
|
|
+* Assert in GC_typed_mark_proc that GC lock is held by some collecting thread
|
|
|
+* Assert that bm_table is already initialized when GC_double_descr used
|
|
|
+* Assert that disappearing links are accessible during registration and GC
|
|
|
+* Assert that size of element of a typed object is non-zero (refactoring)
|
|
|
+* Avoid code duplication in GC_make_array_descriptor (refactoring)
|
|
|
+* Avoid code duplication regarding GC_push_roots in GC_mark_some_inner
|
|
|
+* Avoid duplication of magic numbers in disclaim.c, weakmap.c (refactoring)
|
|
|
+* Avoid unmap of memory allocated during GC init regardless of threshold
|
|
|
+* Better document GC_generate_random_heap/valid_address API functions
|
|
|
+* Better document GC_no_dls
|
|
|
+* Build extra/gc.c in digimars.mak
|
|
|
+* Build with GC_wcsdup support if wcslen exists
|
|
|
+* Call GC_init_parallel only from GC_init (refactoring)
|
|
|
+* Change GC_Thread_Rep in pthread_support.h to match that of win32_threads.c
|
|
|
+* Change default GC_time_limit value from 50 to 15 ms
|
|
|
+* Change default value of max_prior_attempts to 3
|
|
|
+* Change minimum heap growth to one block if requested explicitly
|
|
|
+* Change p local variable to current_p in push_all/conditional_eager
|
|
|
+* Change type of GC_collecting variable to match atomic operations over it
|
|
|
+* Check pointer tag in all mark procedures (E2K)
|
|
|
+* Collapse arch macro defines where possible (refactoring)
|
|
|
+* Consistent naming of GC_thread local variables (refactoring)
|
|
|
+* Declare GC_noop1 as public function unconditionally
|
|
|
+* Declare GC_register_stackbottom symbol as internal on IA64 (refactoring)
|
|
|
+* Define ALIGNMENT macro based on CPP_WORDSZ value by default (refactoring)
|
|
|
+* Define GC_GLIBC_PREREQ internal macro (refactoring)
|
|
|
+* Define GC_get_parallel and GC_set_markers_count in single-threaded GC
|
|
|
+* Define GC_save_regs_ret_val variable only if used on IA64 (refactoring)
|
|
|
+* Define GC_thread type in a single place both for pthreads and Win32
|
|
|
+* Define and use SIGNAL_BASED_STOP_WORLD macro internally (refactoring)
|
|
|
+* Define internal macro NO_SEH_AVAILABLE where SEH is absent (refactoring)
|
|
|
+* Define macros in gcconfig.h to use sigaction for SIGSEGV and SIGBUS
|
|
|
+* Define marker_[b]sp only if needed (refactoring)
|
|
|
+* Define op and nwords local variables consistently across typd_mlc.c
|
|
|
+* Define public GC_[p]valloc() and redirect to them in leak_detector.h
|
|
|
+* Disable H/W tag checking in mark procedures by default (E2K)
|
|
|
+* Disable memory unmapping explicitly in gcconfig.h for Emscripten
|
|
|
+* Discard sections with pseudo-paths except heap in register_map_entries
|
|
|
+* Do not compile pthread_start.c on Cygwin even if build shared libs (CMake)
|
|
|
+* Do not compile pthread_stop_world.c on Darwin (CMake)
|
|
|
+* Do not define GC_pthread_start/exit for Orbis and Sony PSP (refactoring)
|
|
|
+* Do not define GETPAGESIZE on Win32 (refactoring)
|
|
|
+* Do not define THREAD_SANITIZER if GC is built w/o threads support
|
|
|
+* Do not free entry in GC_delete_gc_thread to match that on Win32
|
|
|
+* Do not include sched.h from pthread_start.c (refactoring)
|
|
|
+* Do not invoke GC_approx_sp() repeatedly in GC_stopped_mark (refactoring)
|
|
|
+* Do not put atomic_ops[_sysdeps].o to libgc.a in Makefile.direct
|
|
|
+* Do not reference internal files in comments of public header files
|
|
|
+* Do not set SIGBUS handler to catch write faults on Linux
|
|
|
+* Do not treat warnings as errors by default in digimars.mak
|
|
|
+* Do not wrap mark_some to catch faults if libraries registration is off
|
|
|
+* Document GC_ENABLE_SUSPEND_THREAD better in configure
|
|
|
+* Document GC_with_callee_saves_pushed better
|
|
|
+* Document argument of GC_is_marked in gc_mark.h
|
|
|
+* Document that GC_is_X API functions may return only zero or one
|
|
|
+* Eliminate 'boolean result used in bitwise op' cppcheck FP in GC_thr_init
|
|
|
+* Eliminate 'checking if 1U<<12 is less than zero' cppcheck FP warning
|
|
|
+* Eliminate 'n obtained from untrusted source' code defect FP in test_cpp
|
|
|
+* Eliminate 'parameter can be declared as const pointer' cppcheck warnings
|
|
|
+* Eliminate 'scope of p variable could be reduced' cppcheck warning in de.c
|
|
|
+* Eliminate 'skipping config since static_assert is unknown' cppcheck FP
|
|
|
+* Eliminate 'struct treenode member is never used' cppcheck warning
|
|
|
+* Enable prefetch loop in GC_mark_from on E2K
|
|
|
+* Enable without_libatomic_ops for targets requiring atomic_ops.c (CMake)
|
|
|
+* Ensure GC is initialized when GC_push_all_stacks() is called (refactoring)
|
|
|
+* Ensure GC lock is held in GC_reset_finalizer_nested (refactoring)
|
|
|
+* Ensure GC lock is held in add_leaked/smashed, check_heap_proc (refactoring)
|
|
|
+* Ensure GC_n_set_marks() does not count extra bits in hb_marks
|
|
|
+* Ensure GC_our_memory is updated while holding GC lock (refactoring)
|
|
|
+* Ensure a collection occurs between adjacent heap expansions
|
|
|
+* Ensure every test prints a message on success
|
|
|
+* Export GC_apply_to_all_blocks() and GC_is_black_listed() as public API
|
|
|
+* Fail threadkeytest on pthread_create error in main loop
|
|
|
+* Fix digimars.mak to build 'all' by default
|
|
|
+* Force pthread_mutex_lock usage for GC lock if ThreadSanitizer
|
|
|
+* Get libpthread.so '.text' mapping only for glibc prior to v2.34 (Linux)
|
|
|
+* Group NEED_FIND_LIMIT definitions in gcconfig.h (refactoring)
|
|
|
+* Group functions related to GC_calloc_explicitly_typed (refactoring)
|
|
|
+* Include gc/gc[_cpp].h directly except for cord and tests (refactoring)
|
|
|
+* Include gc_inline.h from gc_priv.h (refactoring)
|
|
|
+* Include stdio.h and stdlib.h only from gc_priv.h (refactoring)
|
|
|
+* Increase number of iterations in leak and middle tests
|
|
|
+* Initialize GC_retry_signals to true in GC_stop_init (refactoring)
|
|
|
+* Make abort message unique in write_fault_handler
|
|
|
+* Make all functions static in msvc_dbg.c except for backtrace[_symbols]
|
|
|
+* Mention CMake-based build in README.md and README.QUICK
|
|
|
+* Move GC_NO_THREADS_DISCOVERY definition to gcconfig.h (refactoring)
|
|
|
+* Move HAVE_CLOCK_GETTIME definition from gc_priv.h to gcconfig.h
|
|
|
+* Move fields common between Concatenation and Function to Generic structure
|
|
|
+* Move non-cord [pkg]include_HEADERS assignments to include.am (refactoring)
|
|
|
+* Move non-license info from LICENSE file to README and vice versa
|
|
|
+* Move pthread_atfork() call to a separate function (refactoring)
|
|
|
+* Move public header files to include/gc in source tree
|
|
|
+* Name all tests consistently (refactoring)
|
|
|
+* New API function (GC_get_hblk_size) to get HBLKSIZE value
|
|
|
+* New CMake option to link with external libatomic_ops (system library)
|
|
|
+* New GC_count_set_marks_in_hblk and GC_iterate_free_hblks API functions
|
|
|
+* Output finalization information by GC_dump
|
|
|
+* Pass ATOMIC_OPS_LIBS to tests using AO primitives directly (Automake)
|
|
|
+* Prevent requesting blocks past max_heapsize in GC_collect_or_expand
|
|
|
+* Prevent use of redirected posix_memalign in GC_haiku_get_mem
|
|
|
+* Print in-use heap statistic on heap growth
|
|
|
+* Print iteration number on thread creation or join failure in tests
|
|
|
+* Print objs_in_block as zero for large objects in GC_print_block_list
|
|
|
+* Print thread number on marker thread creation failure
|
|
|
+* Print value of links in GC_dump_finalization_links
|
|
|
+* Put gc_badalc/cpp.cpp instead of .cc ones in CMake script (MSVC/BCC/WCC)
|
|
|
+* Really ignore bad GC_INITIAL/MAXIMUM_HEAP_SIZE values
|
|
|
+* Redirect aligned_alloc() and reallocarray() in leak_detector.h
|
|
|
+* Reduce number of iterations in disclaim and cpp tests
|
|
|
+* Reduce scope of local variables used for assertion checking in add_to_fl
|
|
|
+* Refactoring of GC_n_set_marks and GC_print_block_descr
|
|
|
+* Refine WARN message in GC_proc_read_dirty regarding buffer size
|
|
|
+* Refine column names output by GC_print_block_list
|
|
|
+* Refine comments in code regarding DllMain-based threads registration
|
|
|
+* Relax required dependencies for atomicopstest (CMake)
|
|
|
+* Remove -o option where not needed in Makefile.direct (refactoring)
|
|
|
+* Remove GC_copyright symbol
|
|
|
+* Remove GC_mark_threads variable (refactoring)
|
|
|
+* Remove GC_min/max() and simplify heap bounds update in expand_hp_inner
|
|
|
+* Remove GC_world_is_stopped variable (refactoring)
|
|
|
+* Remove IF_IA64 macro in pthread_stop_world (refactoring)
|
|
|
+* Remove STACK_GROWS_DOWN explicit definitions in gcconfig.h (refactoring)
|
|
|
+* Remove Symbian makefile
|
|
|
+* Remove USED_HEAP_SIZE macro (refactoring)
|
|
|
+* Remove ancient OS2_MAKEFILE, PCR-Makefile, SMakefile.amiga
|
|
|
+* Remove comment from gc_cpp.h about bugs in ancient compilers
|
|
|
+* Remove doc.am, and move gc.man to base folder (refactoring)
|
|
|
+* Remove duplicate 'called once' check in GC_init_lib_bounds (refactoring)
|
|
|
+* Remove duplication of random numbers generator formula (refactoring)
|
|
|
+* Remove extra parentheses in return statement (refactoring)
|
|
|
+* Remove main_pthread_id variable (refactoring)
|
|
|
+* Remove msvc_dbg.h file (refactoring)
|
|
|
+* Remove obsolete AC_PROG_LIBTOOL in configure.ac (refactoring)
|
|
|
+* Remove private pthread_stop_world.h and darwin_stop_world.h (refactoring)
|
|
|
+* Remove redundant 'private' prefix in include directives in include/private
|
|
|
+* Remove redundant GC_ATTR_UNUSED for GC_mark_and_push
|
|
|
+* Remove redundant HOST_TIZEN macro check for SEARCH_FOR_DATA_START
|
|
|
+* Remove specific DATASTART definition for ancient OpenBSD/m68k
|
|
|
+* Remove thread_blocked field in GC_thread (refactoring)
|
|
|
+* Remove trailing dot in WARN messages
|
|
|
+* Remove unreachable code in GC_lookup_pthread (refactoring)
|
|
|
+* Remove volatile qualifier for GC_threads (pthreads)
|
|
|
+* Rename GC_[inner_]start_routine to match that for Win32 (refactoring)
|
|
|
+* Rename MAP_LEN internal macro to OBJ_MAP_LEN (refactoring)
|
|
|
+* Rename README.QUICK to LICENSE and install it by default
|
|
|
+* Rename README.rs6000 to README.aix
|
|
|
+* Rename stack[_size] in GC_Thread_Rep and GC_register_altstack (refactoring)
|
|
|
+* Rename thread_args and GC_main_thread in win32_threads.c (refactoring)
|
|
|
+* Reorder macro definitions for rare architectures in gcconfig.h
|
|
|
+* Replace C-style casts in C++ headers and cpptest (refactoring)
|
|
|
+* Replace GC_MARK_FO macro with inline functions (refactoring)
|
|
|
+* Replace comments about GC is held or not with relevant assertions
|
|
|
+* Replace init_netbsd_elf with init_linux_data_start on NetBSD (refactoring)
|
|
|
+* Replace obsolete AC_TRY_COMPILE/LINK/RUN in configure.ac (refactoring)
|
|
|
+* Replace target names with '$@' in Makefile.direct (refactoring)
|
|
|
+* Return free memory to OS explicitly before getting new memory from OS
|
|
|
+* Roundup size passed to GC_expand_hp
|
|
|
+* Simplify code to define USE_x_SPECIFIC macros in thread_local_alloc.h
|
|
|
+* Simplify expression to clear extra bits in add_ext_descriptor (refactoring)
|
|
|
+* Simplify gcconfig code to define IRIX5 and ULTRIX on mips (refactoring)
|
|
|
+* Specify that error conditions are unlikely to be true in threads code
|
|
|
+* Specify that internal allocations failure is unlikely (refactoring)
|
|
|
+* Specify that out-of-memory is unlikely in typed alloc and make descriptor
|
|
|
+* State explicitly that license is MIT-style
|
|
|
+* Support 32-bit mode on E2K
|
|
|
+* Support CFLAGS_EXTRA in rare build scripts (NT/WCC_MAKEFILE, digimars.mak)
|
|
|
+* Support ThreadSanitizer (GCC)
|
|
|
+* Support client stop function properly in maybe_gc and collect_a_little
|
|
|
+* Support disable_single_obj_compilation option in cmake script
|
|
|
+* Support malloc redirection on E2K
|
|
|
+* Test garbage collection from a deep recursion in gctest
|
|
|
+* Test manual self-suspend in gctest
|
|
|
+* Test realloc() in leaktest
|
|
|
+* Test world stop while other thread in deep recursion in gctest (pthreads)
|
|
|
+* Treat GC_arrays as a part of internal memory when printing its size
|
|
|
+* Treat warnings as errors in C++ code if configure --enable-werror
|
|
|
+* Try find libatomic_ops installed by cmake if with_libatomic_ops (CMake)
|
|
|
+* Unify GC_Thread_Rep and thread id type in win32_threads.c (refactoring)
|
|
|
+* Unify GC_[mark_]lock_holder variable definition (refactoring)
|
|
|
+* Update next_random_no state using AO primitive
|
|
|
+* Use AO primitive in GC_noop1 instead of no_sanitize attribute
|
|
|
+* Use AO primitives in GC_RAND_NEXT instead of no_sanitize attribute
|
|
|
+* Use EXPECT() in checks of MAIN_THREAD bit (refactoring)
|
|
|
+* Use GC_printf in cpptest consistently (refactoring)
|
|
|
+* Use cast to void instead of the attribute to indicate unused arguments
|
|
|
+* Use consistent variables naming in typd_mlc.c (refactoring)
|
|
|
+* Use inline keyword in GC_INLINE (bcc)
|
|
|
+* Use modHBLKSZ where possible (refactoring)
|
|
|
+* Use register_my_thread_inner to add initial thread in pthread_support.c
|
|
|
+* Use single-argument suspend_handler for E2K, HP_PA, IA64, M68K
|
|
|
+* Warn if heap has grown while GC was disabled
|
|
|
+* Workaround 'TEXT is unknown macro' cppcheck FP warning
|
|
|
+* Workaround 'data access w/o lock' code defect FP in GC_incr_bytes_freed
|
|
|
+* Workaround 'returning pointer to local variable base' cppcheck FP in misc
|
|
|
+* Workaround 'total_time<0 is always false' cppcheck FP warning
|
|
|
+
|
|
|
+
|
|
|
+== [8.2.4] (not released yet) ==
|
|
|
+
|
|
|
+* Abort with appropriate message if first call of mmap fails with EPERM
|
|
|
+* Avoid potential race between realloc and GC_block_was_dirty
|
|
|
+* Eliminate 'GC_unmap_end declared but unused' bcc warning in disclaim_bench
|
|
|
+* Eliminate 'cast signed to bigger unsigned' CSA warning in WARN calls
|
|
|
+* Fix 'call to undeclared pthread_setname_np' errors in configure and cmake
|
|
|
+* Fix 'overflow in conversion from word' g++ warning in GC_init
|
|
|
+* Fix 'unknown option --no-undefined' linker error in cmake script (OS X)
|
|
|
+* Fix IRIX5 defined wrongly on FreeBSD/mips, WinCE/mips, Tandem S-Series
|
|
|
+* Fix data race in GC_heapsize_at_forced_unmap variable
|
|
|
+* Fix disabling of automatic dynamic libraries registration
|
|
|
+* Fix double initialization of main thread local free lists on Win32
|
|
|
+* Fix loop condition over dll_thread_table in GC_lookup_pthread (Win32)
|
|
|
+* Fix missing GC_CALLBACK for GC_waitForSingleObjectInfinite
|
|
|
+* Fix missing libalphagc.so dependency in Makefile.direct
|
|
|
+* Fix missing lock while updating GC_in_thread_creation in GC_exit_check
|
|
|
+* Fix missing recovery from faults in GC_mark_some on Win64 if MinGW
|
|
|
+* Fix missing result check of pthread_attr_getdetachstate in pthread_create
|
|
|
+* Fix mistyped function name in documentation of REDIRECT_REALLOC
|
|
|
+* Fix negative heap size values reported in WARN
|
|
|
+* Fix typos in comments of dll_thread_table and GC_Thread_Rep.dummy
|
|
|
+* Fix use of unset errno after pthread_create/sigmask calls
|
|
|
+* Remove false warning of missing libpthread.so on Linux
|
|
|
+* Remove redundant GC_ATTR_UNUSED for GC_mark_and_push
|
|
|
+* Replace WARN in GC_mark_some wrapper back to GC_COND_LOG_PRINTF
|
|
|
+
|
|
|
+
|
|
|
+== [8.2.2] 2022-08-26 ==
|
|
|
+
|
|
|
+* Abort if no progress with thread suspend/resume signals resending
|
|
|
+* Add CMake option to force libatomic_ops headers usage
|
|
|
+* Add _PROP suffix to CORD/GC[CPP]_VERSION variables in CMake script
|
|
|
+* Allow not to bypass pthread_cancel hardening in pthread_start
|
|
|
+* Allow to start marker threads in child of single-threaded client
|
|
|
+* Avoid potential race in GC_init_real_syms after GC_allow_register_threads
|
|
|
+* Avoid potential signal loss before sigsuspend in suspend_handler if TSan
|
|
|
+* Define SUNOS5SIGS macro for kFreeBSD
|
|
|
+* Distribute gc_gcj.h and some other headers in single-obj-compilation
|
|
|
+* Do not assert that GC is initialized at DLL_THREAD_DETACH (Win32)
|
|
|
+* Do not call SET_HDR() to remove forwarding counts if none exists in hblk
|
|
|
+* Do not call mprotect/mmap to GC_unmap/remap (Linux)
|
|
|
+* Do not count unmapped regions if GC_unmap is madvise-based (Linux)
|
|
|
+* Do not define NEED_FIND_LIMIT in case of OpenBSD user threads
|
|
|
+* Do not fail tests if pthread_create returns resource unavailable error
|
|
|
+* Do not name GCC intrinsics as C11 ones
|
|
|
+* Do not probe to find main data root start if dl_iterate_phdr exists
|
|
|
+* Do not send signal to thread which is suspended manually
|
|
|
+* Do not use usleep between signals resend if ThreadSanitizer
|
|
|
+* Eliminate '-pedantic is not option that controls warnings' GCC-6.3 message
|
|
|
+* Eliminate '/GS can not protect parameters' MS VC warning in msvc_dbg
|
|
|
+* Eliminate 'R_AARCH64_ABS64 used with TLS symbol' linker warning (clang)
|
|
|
+* Eliminate 'buffer overflow detected' FP error in realloc_test
|
|
|
+* Eliminate 'extension used' clang warning in sparc_mach_dep.S (configure)
|
|
|
+* Eliminate 'function/data pointer conversion in expression' MSVC warning
|
|
|
+* Eliminate 'implicit decl of _setjmp' gcc warning if -std=c11 on Cygwin
|
|
|
+* Eliminate 'layout of aggregates has changed in GCC 5' warning in test_cpp
|
|
|
+* Eliminate 'new_l may be used uninitialized' gcc warning in os_dep (Cygwin)
|
|
|
+* Eliminate 'old_gc_no is initialized but not referenced' MS VC false warning
|
|
|
+* Eliminate 'possible loss of data' compiler warning in GC_envfile_getenv
|
|
|
+* Eliminate 'potentially uninitialized local variable tc' warning (MSVC)
|
|
|
+* Eliminate 'skipping config since MAX_HEAP_SECTS is unknown' cppcheck FP
|
|
|
+* Eliminate 'unused but set variable' gcc warnings in cpptest
|
|
|
+* Eliminate 'value exceeds maximum size' warnings in debug_malloc, huge_test
|
|
|
+* Eliminate 'writing into region of size 0' gcc FP warning in realloc
|
|
|
+* Eliminate ASan stack-buffer-underflow FP in GC_mark_and_push_stack (E2K)
|
|
|
+* Eliminate code defect about incorrect size of allocated object (leaktest)
|
|
|
+* Eliminate data race reported by TSan in GC_have_errors
|
|
|
+* Eliminate division-by-zero FP warning in GC_ASSERT in reclaim_block
|
|
|
+* Eliminate stringop-overflow gcc-12 warning in CORD__next
|
|
|
+* Ensure typed objects descriptor is never located in the first word
|
|
|
+* Fix 'GC_greatest_stack_base_below is defined but not used' warning (IA64)
|
|
|
+* Fix 'GC_text_mapping not used' GCC warning if redirect malloc w/o threads
|
|
|
+* Fix 'ISO C forbids conversion of function pointer to object' warning
|
|
|
+* Fix 'undeclared getpagesize' compiler warning on AIX and OSF1
|
|
|
+* Fix 'undefined reference to __data_start' linker error on Linux/aarch64
|
|
|
+* Fix 'unresolved __imp__wsprintfA' linker error in msvc_dbg.c (MSVC)
|
|
|
+* Fix 'unresolved symbol GetModuleHandle' error in win32_threads.c (UWP)
|
|
|
+* Fix (workaround) stack overflow in gctest on Alpine Linux/s390x
|
|
|
+* Fix GC_ATTR_NO_SANITIZE_THREAD definition for GCC
|
|
|
+* Fix GC_allocate_ml incorrect cleanup in GC_deinit if pthreads (MinGW)
|
|
|
+* Fix GC_dirty() argument in GC_malloc_explicitly_typed_ignore_off_page
|
|
|
+* Fix GC_make_descriptor for zero length argument
|
|
|
+* Fix GC_suspend_thread if called before thread destructor
|
|
|
+* Fix GC_unmapped_bytes update in GC_unmap for Sony PS/3
|
|
|
+* Fix SIGSEGV caused by dropped stack access from child process in gctest
|
|
|
+* Fix SUNOS5SIGS documentation to match macro definition in gcconfig.h
|
|
|
+* Fix abort in Win32 DllMain if PARALLEL_MARK
|
|
|
+* Fix abort when GC_repeat_read returns zero
|
|
|
+* Fix assertion about built-in AO_test_and_set_acquire on sparc64 (gcc-12)
|
|
|
+* Fix assertion violation in GC_allow_register_threads on Windows
|
|
|
+* Fix assertion violation of GC_thread_key alignment if pthread-based TLS
|
|
|
+* Fix comment in GC_init regarding GC_init_parallel call
|
|
|
+* Fix context saving when GC_suspend_thread(self)
|
|
|
+* Fix data race in fail_proc1 of gctest
|
|
|
+* Fix hang in GC_free if GC_PREFER_MPROTECT_VDB (Mingw64)
|
|
|
+* Fix hang in select() called from suspend signal handler if TSan
|
|
|
+* Fix hang on sem_wait in GC_suspend_thread if thread was resumed recently
|
|
|
+* Fix hb_obj_kind type in documentation (ASCII diagram) describing hblkhdr
|
|
|
+* Fix incremental mode enabling in gctest if TEST_MANUAL_VDB
|
|
|
+* Fix linking of tests in case of finalization is off
|
|
|
+* Fix lock assertion violation in GC_find_limit if always multi-threaded
|
|
|
+* Fix memory return to OS in GC_unmap
|
|
|
+* Fix missing lock when GC_generate_random_valid_address is called
|
|
|
+* Fix missing write() declaration if CONSOLE_LOG (Watcom)
|
|
|
+* Fix nodist_libgc_la_SOURCES value in Makefile.am for Solaris/sparc
|
|
|
+* Fix oldProc initialization in gc_cleanup and eliminate related warnings
|
|
|
+* Fix parallel_initialized assertion violation in initsecondarythread (Win32)
|
|
|
+* Fix potential race if start_mark_threads called from threads in child
|
|
|
+* Fix propagation of out-of-memory occurred in GC_make_sequence_descriptor
|
|
|
+* Fix pthread_setname_np and dladdr detection by CMake
|
|
|
+* Fix race between calloc_explicitly_typed and push_complex_descriptor
|
|
|
+* Fix typos in comments and debugging.md
|
|
|
+* Fix undefined __stack_base__ on UWP/arm64 (llvm-mingw)
|
|
|
+* Force GC_with_callee_saves_pushed in suspend_handler if NO_SA_SIGACTION
|
|
|
+* Link with rt library to get clock_gettime where necessary
|
|
|
+* Make finalizer_closure pointer read/write atomic in malloc and callback
|
|
|
+* Move platform-specific sleep call to GC_usleep (refactoring)
|
|
|
+* Pass -lrt linker option in CMake script on HP/UX, NetBSD
|
|
|
+* Prevent (fix) parallel custom mark procs run in single-threaded clients
|
|
|
+* Prevent changing of GC_markers_m1 value while collection in progress
|
|
|
+* Refer to Makefile.direct instead of deleted Makefile file in README
|
|
|
+* Relax assertion of hb_n_marks in reclaim_block if more than two markers
|
|
|
+* Remove IF_IA64 macro in pthread_stop_world (refactoring)
|
|
|
+* Remove checking of RS6000 completely
|
|
|
+* Remove duplicate check of MSWIN_XBOX1 in os_dep.c
|
|
|
+* Remove duplicate include gc_tiny_fl.h in gc_priv.h
|
|
|
+* Remove non-working check of M68K in gctest
|
|
|
+* Remove useless TSan W/A about read of mark_lock_holder for Windows
|
|
|
+* Replace RAISE_SIGNAL macro with a static function (refactoring)
|
|
|
+* Replace SSH cloning with HTTPS one in README
|
|
|
+* Retry pthread_kill if EAGAIN (Linux)
|
|
|
+* Revert "Check real-symbols are already initialized in pthread_join/detach"
|
|
|
+* Revert "Remove nested always-false ifdef for HPUX and FREEBSD"
|
|
|
+* Revert addition of msvc_dbg.h in include.am
|
|
|
+* Set default build type to RelWithDebInfo (CMake)
|
|
|
+* Start configure help messages with a lower case letter
|
|
|
+* Support 'z' format modifier by CORD_vsprintf
|
|
|
+* Support Elbrus 2000 (Linux/e2k)
|
|
|
+* Support GCC MCF thread model (mcfgthreads) in configure (MinGW)
|
|
|
+* Support GC_remove_roots on Win32
|
|
|
+* Support OpenBSD/riscv64
|
|
|
+* Support build using Makefile.direct on Linux/sparc
|
|
|
+* Support space-separated flags in CFLAGS_EXTRA passed to CMake
|
|
|
+* Update README.win32 about default build configuration (configure, cmake)
|
|
|
+* Update documentation of GC_RATE and MAX_PRIOR_ATTEMPTS
|
|
|
+* Use SIGRTMIN+6 as suspend signal if sigrt-signals on OpenBSD
|
|
|
+* Use SIGUSR1/2 on FreeBSD/arm64
|
|
|
+* Use compiler TLS on NetBSD only if at least gcc-4.4 or clang-3.9
|
|
|
+* Workaround 'info is not assigned' cppcheck FP if assertions on (OS X)
|
|
|
+* Workaround SIG_SUSPEND delivery to thread inside mutex_lock fail if TSan
|
|
|
+* Workaround TSan FP about race between generic_malloc and array_mark_proc
|
|
|
+* Workaround TSan FP in acquire_mark_lock called from fork_prepare_proc
|
|
|
+* Workaround TSan FP warning in finalized_malloc, push_unconditionally
|
|
|
+* Workaround TSan FP warning in fork_prepare_proc
|
|
|
+* Workaround TSan FP warning in push_marked1/2/4, ptr_store_and_dirty
|
|
|
+* Workaround Thread Sanitizer (TSan) FP warning in is_valid_displacement
|
|
|
+* Workaround call stack size exceeded in gctest (Wasm)
|
|
|
+* Workaround crash in FreeBSD rand() by avoiding its concurrent usage
|
|
|
+* Workaround gctest hang if test compiled as C++ code by MSVC (CMake)
|
|
|
+* Workaround msvc_dbg.c build failure on arm[64] (MSVC)
|
|
|
+
|
|
|
+
|
|
|
== [8.2.0] 2021-09-29 ==
|
|
|
|
|
|
* Add API for accessing incremental GC time limit with nanosecond precision
|
|
@@ -210,13 +599,103 @@
|
|
|
* Use clock_gettime() instead of clock() on Cygwin and Linux
|
|
|
* Use compiler TLS on FreeBSD and NetBSD
|
|
|
* Use mprotect-based VDB on PowerPC and S390 (Linux)
|
|
|
-* Use soft dirty bits on Linux (i386, powerpc, s390, x86_64)
|
|
|
+* Use soft dirty bits on Linux (x86, powerpc, s390, x64)
|
|
|
* Workaround 'condition result<=0 is always false' cppcheck FP in get_maps
|
|
|
* Workaround 'push_regs configured incorrectly' error (GCC-11)
|
|
|
* Workaround 'same value in both branches of ternary operator' cppcheck FP
|
|
|
* Workaround various cppcheck false positives
|
|
|
|
|
|
|
|
|
+== [8.0.10] (not released yet) ==
|
|
|
+
|
|
|
+* Abort with appropriate message if first call of mmap fails with EPERM
|
|
|
+* Avoid potential race between realloc and GC_block_was_dirty
|
|
|
+* Fix 'overflow in conversion from word' g++ warning in GC_init
|
|
|
+* Fix typo in comment of GC_Thread_Rep.dummy
|
|
|
+* Fix use of unset errno after pthread_sigmask calls
|
|
|
+* Remove redundant GC_ATTR_UNUSED for GC_mark_and_push
|
|
|
+
|
|
|
+Also, includes 7.6.18 changes
|
|
|
+
|
|
|
+
|
|
|
+== [8.0.8] 2022-08-26 ==
|
|
|
+
|
|
|
+* Avoid potential race in GC_init_real_syms after GC_allow_register_threads
|
|
|
+* Define SUNOS5SIGS macro for kFreeBSD
|
|
|
+* Distribute gc_disclaim.h in single-obj-compilation
|
|
|
+* Do not assert that GC is initialized at DLL_THREAD_DETACH (Win32)
|
|
|
+* Do not name GCC intrinsics as C11 ones
|
|
|
+* Do not send signal to thread which is suspended manually
|
|
|
+* Eliminate 'buffer overflow detected' FP error in realloc_test
|
|
|
+* Eliminate 'extension used' clang warning in sparc_mach_dep.S (configure)
|
|
|
+* Eliminate 'function/data pointer conversion in expression' MSVC warning
|
|
|
+* Eliminate 'implicit decl of _setjmp' gcc warning if -std=c11 on Cygwin
|
|
|
+* Eliminate 'new_l may be used uninitialized' gcc warning in os_dep (Cygwin)
|
|
|
+* Eliminate 'old_gc_no is initialized but not referenced' MS VC false warning
|
|
|
+* Eliminate 'possible loss of data' compiler warning in GC_envfile_getenv
|
|
|
+* Eliminate 'value exceeds maximum size' warnings in debug_malloc, huge_test
|
|
|
+* Eliminate 'writing into region of size 0' gcc FP warning in realloc
|
|
|
+* Eliminate division-by-zero FP warning in GC_ASSERT in reclaim_block
|
|
|
+* Eliminate stringop-overflow gcc-12 warning in CORD__next
|
|
|
+* Ensure typed objects descriptor is never located in the first word
|
|
|
+* Fix 'GC_greatest_stack_base_below is defined but not used' warning (IA64)
|
|
|
+* Fix 'GC_text_mapping not used' GCC warning if redirect malloc w/o threads
|
|
|
+* Fix 'ISO C forbids conversion of function pointer to object' warning
|
|
|
+* Fix 'undeclared getpagesize' compiler warning on AIX and OSF1
|
|
|
+* Fix 'undefined reference to __data_start' linker error on Linux/aarch64
|
|
|
+* Fix GC_allocate_ml incorrect cleanup in GC_deinit if pthreads (MinGW)
|
|
|
+* Fix GC_dirty() argument in GC_malloc_explicitly_typed_ignore_off_page
|
|
|
+* Fix GC_make_descriptor for zero length argument
|
|
|
+* Fix GC_suspend_thread if called before thread destructor
|
|
|
+* Fix GC_unmapped_bytes update in GC_unmap for Sony PS/3
|
|
|
+* Fix SIGSEGV caused by dropped stack access from child process in gctest
|
|
|
+* Fix SUNOS5SIGS documentation to match macro definition in gcconfig.h
|
|
|
+* Fix abort in Win32 DllMain if PARALLEL_MARK
|
|
|
+* Fix assertion about built-in AO_test_and_set_acquire on sparc64 (gcc-12)
|
|
|
+* Fix assertion violation in GC_allow_register_threads on Windows
|
|
|
+* Fix assertion violation of GC_thread_key alignment if pthread-based TLS
|
|
|
+* Fix context saving when GC_suspend_thread(self)
|
|
|
+* Fix data race in fail_proc1 of gctest
|
|
|
+* Fix get_maps failure when GC_repeat_read returns zero
|
|
|
+* Fix hang in GC_free if GC_PREFER_MPROTECT_VDB (Mingw64)
|
|
|
+* Fix hang in select() called from suspend signal handler if TSan
|
|
|
+* Fix hang on sem_wait in GC_suspend_thread if thread was resumed recently
|
|
|
+* Fix hb_obj_kind type in documentation (ASCII diagram) describing hblkhdr
|
|
|
+* Fix incremental mode enabling in gctest if TEST_MANUAL_VDB
|
|
|
+* Fix lock assertion violation in GC_find_limit if always multi-threaded
|
|
|
+* Fix missing lock when GC_generate_random_valid_address is called
|
|
|
+* Fix nodist_libgc_la_SOURCES value in Makefile.am for Solaris/sparc
|
|
|
+* Fix oldProc initialization in gc_cleanup and eliminate related warnings
|
|
|
+* Fix parallel_initialized assertion violation in initsecondarythread (Win32)
|
|
|
+* Fix potential race if start_mark_threads called from threads in child
|
|
|
+* Fix propagation of out-of-memory occurred in GC_make_sequence_descriptor
|
|
|
+* Fix race between calloc_explicitly_typed and push_complex_descriptor
|
|
|
+* Fix stack overflow in gctest on Alpine Linux/s390x
|
|
|
+* Fix typo in debugging.html
|
|
|
+* Fix typos in comments of .c files and gc.h
|
|
|
+* Fix undefined __stack_base__ on UWP/arm64 (llvm-mingw)
|
|
|
+* Make finalizer_closure pointer read/write atomic in malloc and callback
|
|
|
+* Prevent (fix) parallel custom mark procs run in single-threaded clients
|
|
|
+* Prevent changing of GC_markers_m1 value while collection in progress
|
|
|
+* Refer to Makefile.direct instead of deleted Makefile file in README
|
|
|
+* Relax assertion of hb_n_marks in reclaim_block if more than two markers
|
|
|
+* Remove checking of RS6000 completely
|
|
|
+* Remove duplicate check of MSWIN_XBOX1 in os_dep.c
|
|
|
+* Remove non-working check of M68K in gctest
|
|
|
+* Remove useless TSan W/A about read of mark_lock_holder for Windows
|
|
|
+* Replace SSH cloning with HTTPS one in README
|
|
|
+* Revert "Remove nested always-false ifdef for HPUX and FREEBSD"
|
|
|
+* Revert addition of msvc_dbg.h in include.am
|
|
|
+* Support 'z' format modifier by CORD_vsprintf
|
|
|
+* Update documentation of GC_RATE and MAX_PRIOR_ATTEMPTS
|
|
|
+* Use SIGRTMIN+6 as suspend signal if sigrt-signals on OpenBSD
|
|
|
+* Workaround TSan FP about race between generic_malloc and array_mark_proc
|
|
|
+* Workaround TSan FP warning in finalized_malloc, push_unconditionally
|
|
|
+* Workaround TSan FP warning in push_marked1/2/4, ptr_store_and_dirty
|
|
|
+* Workaround Thread Sanitizer (TSan) FP warning in is_valid_displacement
|
|
|
+* Workaround crash in FreeBSD rand() by avoiding its concurrent usage (tests)
|
|
|
+
|
|
|
+
|
|
|
== [8.0.6] 2021-09-28 ==
|
|
|
|
|
|
* Add loop to handle abort error like in suspend logic on Darwin
|
|
@@ -633,6 +1112,33 @@
|
|
|
* Workaround Thread Sanitizer (TSan) false positive warnings
|
|
|
|
|
|
|
|
|
+== [7.6.18] (not released yet) ==
|
|
|
+
|
|
|
+* Fix IRIX5 defined wrongly on FreeBSD/mips
|
|
|
+* Fix data race in GC_heapsize_at_forced_unmap variable
|
|
|
+
|
|
|
+Also, includes 7.4.24 changes
|
|
|
+
|
|
|
+
|
|
|
+== [7.6.16] 2022-08-26 ==
|
|
|
+
|
|
|
+* Do not send signal to thread which is suspended manually
|
|
|
+* Eliminate 'old_gc_no is initialized but not referenced' MS VC false warning
|
|
|
+* Fix 'GC_greatest_stack_base_below is defined but not used' warning (IA64)
|
|
|
+* Fix context saving when GC_suspend_thread(self)
|
|
|
+* Fix data race in fail_proc1 of gctest
|
|
|
+* Fix GC_suspend_thread if called before thread destructor
|
|
|
+* Fix hang on sem_wait in GC_suspend_thread if thread was resumed recently
|
|
|
+* Fix lock assertion violation in GC_find_limit if always multi-threaded
|
|
|
+* Fix potential race if start_mark_threads called from threads in child
|
|
|
+* Make finalizer_closure pointer read/write atomic in malloc and callback
|
|
|
+* Prevent changing of GC_markers_m1 value while collection in progress
|
|
|
+* Replace SSH cloning with HTTPS one in README
|
|
|
+* Workaround Thread Sanitizer (TSan) FP warning in is_valid_displacement
|
|
|
+
|
|
|
+Also, includes 7.4.22 changes
|
|
|
+
|
|
|
+
|
|
|
== [7.6.14] 2021-09-28 ==
|
|
|
|
|
|
* Add loop to handle abort error like in suspend logic on Darwin
|
|
@@ -845,7 +1351,7 @@
|
|
|
* Fix typo in comment in specific.h
|
|
|
* Fix unbounded heap growth in case of intensive disappearing links usage
|
|
|
* Remove API symbols renaming in WCC_MAKEFILE
|
|
|
-* Support Haiku/amd64 and Haiku/x86 hosts
|
|
|
+* Support Haiku/x64 and Haiku/x86 hosts
|
|
|
* Support threads for DragonFly in configure
|
|
|
* Workaround 'address of auto-variable returned' cppcheck error
|
|
|
* Workaround gctest hang on kFreeBSD (if thread-local allocations are on)
|
|
@@ -1161,7 +1667,7 @@ Also, includes 7.4.6 changes
|
|
|
* Show WoW64 warning message if running 32-bit on Win64 (enabled by macro)
|
|
|
* Standalone profiling callback for threads suspend/resume
|
|
|
* Support (add machine description for) TILE-Gx and TILEPro targets
|
|
|
-* Support build for Android 64-bit (arm64, mips64, x86_64)
|
|
|
+* Support build for Android 64-bit (arm64, mips64, x64)
|
|
|
* Support FreeBSD/aarch64, FreeBSD/mips
|
|
|
* Support iOS7 64-bit (AArch64) and iOS8+ 32/64-bit (Darwin)
|
|
|
* Support MinGW build in scripts
|
|
@@ -1174,6 +1680,32 @@ Also, includes 7.4.6 changes
|
|
|
Also, includes 7.4.4 changes
|
|
|
|
|
|
|
|
|
+== [7.4.24] (not released yet) ==
|
|
|
+
|
|
|
+* Eliminate 'cast signed to bigger unsigned' CSA warning in WARN calls
|
|
|
+* Fix missing lock while updating GC_in_thread_creation in GC_exit_check
|
|
|
+
|
|
|
+Also, includes 7.2q changes.
|
|
|
+
|
|
|
+
|
|
|
+== [7.4.22] 2022-08-26 ==
|
|
|
+
|
|
|
+* Eliminate 'new_l may be used uninitialized' gcc warning in os_dep (Cygwin)
|
|
|
+* Eliminate 'possible loss of data' compiler warning in GC_envfile_getenv
|
|
|
+* Fix 'undeclared getpagesize' compiler warning on AIX and OSF1
|
|
|
+* Fix GC_dirty() argument in GC_malloc_explicitly_typed_ignore_off_page
|
|
|
+* Fix SIGSEGV caused by dropped stack access from child process in gctest
|
|
|
+* Fix abort in Win32 DllMain if PARALLEL_MARK
|
|
|
+* Fix assertion violation of GC_thread_key alignment if pthread-based TLS
|
|
|
+* Fix comment in GC_init regarding GC_init_parallel call
|
|
|
+* Fix stack overflow in gctest on Alpine Linux/s390x
|
|
|
+* Revert "Remove nested always-false ifdef for HPUX and FREEBSD"
|
|
|
+* Use SIGRTMIN+6 as suspend signal if sigrt-signals on OpenBSD
|
|
|
+* Workaround crash in FreeBSD rand() by avoiding its concurrent usage
|
|
|
+
|
|
|
+Also, includes 7.2p changes.
|
|
|
+
|
|
|
+
|
|
|
== [7.4.20] 2021-09-28 ==
|
|
|
|
|
|
* Do not hold GC_fault_handler_lock when in Sleep (Windows)
|
|
@@ -1372,7 +1904,7 @@ Also, includes 7.2h changes
|
|
|
== [7.4.4] 2016-05-25 ==
|
|
|
|
|
|
* Allow GC_FAST_MALLOC_GRANS() multiple use in a function
|
|
|
-* Also enable the TSX workaround for i386 (Linux)
|
|
|
+* Also enable the TSX workaround for Linux/x86
|
|
|
* Avoid unstructured procfs on Solaris
|
|
|
* Change cord/de main() declaration style from K-R to ANSI C
|
|
|
* Change no-argument functions declaration style to ANSI C (cord)
|
|
@@ -1700,6 +2232,44 @@ Also, includes 7.2e, 7.2d, 7.2c, 7.2b changes
|
|
|
Also, includes 7.2 changes
|
|
|
|
|
|
|
|
|
+== [7.2q] (not released yet) ==
|
|
|
+
|
|
|
+* Fix IRIX5 defined wrongly on Tandem S-Series and WinCE/mips
|
|
|
+* Fix disabling of automatic dynamic libraries registration
|
|
|
+* Fix double initialization of main thread local free lists on Win32
|
|
|
+* Fix loop condition over dll_thread_table in GC_lookup_pthread (Win32)
|
|
|
+* Fix missing GC_CALLBACK for GC_waitForSingleObjectInfinite
|
|
|
+* Fix missing libalphagc.so dependency in Makefile.direct
|
|
|
+* Fix missing result check of pthread_attr_getdetachstate in pthread_create
|
|
|
+* Fix mistyped function name in documentation of REDIRECT_REALLOC
|
|
|
+* Fix typo in comment belonging to dll_thread_table
|
|
|
+* Fix use of unset errno after pthread_create call
|
|
|
+
|
|
|
+
|
|
|
+== [7.2p] 2022-08-25 ==
|
|
|
+
|
|
|
+* Avoid potential race in GC_init_real_syms after GC_allow_register_threads
|
|
|
+* Define SUNOS5SIGS macro for kFreeBSD
|
|
|
+* Do not assert that GC is initialized at DLL_THREAD_DETACH (Win32)
|
|
|
+* Ensure typed objects descriptor is never located in the first word
|
|
|
+* Fix GC_make_descriptor for zero length argument
|
|
|
+* Fix SUNOS5SIGS documentation to match macro definition in gcconfig.h
|
|
|
+* Fix assertion violation in GC_allow_register_threads on Windows
|
|
|
+* Fix get_maps failure when GC_repeat_read returns zero
|
|
|
+* Fix hb_obj_kind type in documentation (ASCII diagram) describing hblkhdr
|
|
|
+* Fix missing lock when GC_generate_random_valid_address is called
|
|
|
+* Fix nodist_libgc_la_SOURCES value in Makefile.am for Solaris/sparc
|
|
|
+* Fix oldProc initialization in gc_cleanup and eliminate related warnings
|
|
|
+* Fix parallel_initialized assertion violation in initsecondarythread (Win32)
|
|
|
+* Fix propagation of out-of-memory occurred in GC_make_sequence_descriptor
|
|
|
+* Fix race between calloc_explicitly_typed and push_complex_descriptor
|
|
|
+* Fix typos in comments of .c files, gc.h and a typo in debugging.html
|
|
|
+* Refer to Makefile.direct instead of deleted Makefile file in README
|
|
|
+* Remove checking of RS6000 completely
|
|
|
+* Remove non-working check of M68K in gctest
|
|
|
+* Revert addition of msvc_dbg.h in include.am
|
|
|
+
|
|
|
+
|
|
|
== [7.2o] 2021-09-28 ==
|
|
|
|
|
|
* Add loop to handle abort error like in suspend logic on Darwin
|
|
@@ -1947,7 +2517,7 @@ Also, includes 7.2 changes
|
|
|
* 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 build (broken by fenv.h inclusion) on Linux/x64 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
|
|
@@ -2029,7 +2599,7 @@ Also, includes 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 info that getcontext() resets FPE mask no longer on Linux/x64
|
|
|
* Add public GC_set_handle_fork to control forked child handling support
|
|
|
* Add realloc_test.c test
|
|
|
* Add support for Hexagon target
|
|
@@ -3224,7 +3794,7 @@ include fenv.h if defined (unless NO_GETCONTEXT or HAVE_PUSH_REGS).
|
|
|
* mach_dep.c (GC_with_callee_saves_pushed): Restore FPU exception
|
|
|
mask corrupted by getcontext if GETCONTEXT_FPU_EXCMASK_BUG.
|
|
|
* include/private/gcconfig.h (GETCONTEXT_FPU_EXCMASK_BUG): Define
|
|
|
-for Linux/amd64 (since its GLibc getcontext currently has the bug).
|
|
|
+for Linux/x64 (since its GLibc getcontext currently has the bug).
|
|
|
|
|
|
* allchblk.c (GC_use_entire_heap): Change type to int (as declared
|
|
|
in gc.h); set the default value depending on new GC_USE_ENTIRE_HEAP
|
|
@@ -3620,7 +4190,7 @@ register pushing.
|
|
|
* darwin_stop_world.c (GC_push_all_stacks): Set outCount to
|
|
|
GC_MACH_THREAD_STATE_COUNT (instead of THREAD_STATE_MAX).
|
|
|
* darwin_stop_world.c (GC_push_all_stacks): Remove FIXME and WARN
|
|
|
-for i386.
|
|
|
+for x86.
|
|
|
|
|
|
* doc/README.macros (DARWIN_DONT_PARSE_STACK): Fix a typo.
|
|
|
* darwin_stop_world.c (GC_use_mach_handler_thread): Change type
|
|
@@ -3631,7 +4201,7 @@ Simplify the expressions involving GC_use_mach_handler_thread.
|
|
|
Initialize GC_use_mach_handler_thread to TRUE (instead of 1).
|
|
|
|
|
|
* include/gc_pthread_redirects.h (GC_pthread_sigmask, GC_dlopen,
|
|
|
-pthread_sigmask, dlopen): Don't define for Win32 pthreads (and
|
|
|
+pthread_sigmask, dlopen): Don't define for pthreads-win32 (and
|
|
|
don't include signal.h and dlfcn.h).
|
|
|
|
|
|
* dyn_load.c (GC_register_dynlib_callback): Add FIXME.
|
|
@@ -3798,7 +4368,7 @@ is not yet).
|
|
|
* win32_threads.c (GC_mark_thread_local_free_lists, GC_check_tls):
|
|
|
Likewise.
|
|
|
|
|
|
-* NT_MAKEFILE: Remove the comment about DLL and Win32S.
|
|
|
+* NT_MAKEFILE: Remove the comment about DLL and win32s.
|
|
|
* NT_STATIC_THREADS_MAKEFILE: Likewise.
|
|
|
* NT_X64_STATIC_THREADS_MAKEFILE: Likewise.
|
|
|
* NT_MAKEFILE: Add ".SUFFIXES" directive (to handle gc_cpp.cc
|
|
@@ -3993,7 +4563,7 @@ GC_enable_incremental() if MAKE_BACKGRAPH is defined, but
|
|
|
do invoke it even if parallel marking is enabled.
|
|
|
|
|
|
* tests/test.c (reverse_test): Comment out a check for MSWIN32
|
|
|
-(when determining BIG value) assuming outdated win32S.
|
|
|
+(when determining BIG value) assuming outdated win32s.
|
|
|
* tests/test.c (reverse_test): Rename to reverse_test_inner;
|
|
|
change the declaration (to be of GC_fn_type); call itself thru
|
|
|
GC_call_with_gc_active() if the argument is zero.
|
|
@@ -4516,8 +5086,8 @@ with the ANSI C one.
|
|
|
define it for OpenBSD.
|
|
|
* include/gc_pthread_redirects.h (GC_pthread_sigmask,
|
|
|
pthread_sigmask): Don't declare and redefine for OpenBSD.
|
|
|
-* include/private/gcconfig.h: Handle OpenBSD (on arm, sh, i386,
|
|
|
-amd64, powerpc).
|
|
|
+* include/private/gcconfig.h: Handle OpenBSD (on arm, sh, x86,
|
|
|
+x64, powerpc).
|
|
|
* mach_dep.c (NO_GETCONTEXT): Likewise.
|
|
|
* include/private/pthread_stop_world.h (thread_stop_info): Don't
|
|
|
define last_stop_count field if OpenBSD.
|
|
@@ -5510,7 +6080,7 @@ replacing GC_never_stop_func with GC_default_stop_func (if
|
|
|
possible).
|
|
|
* alloc.c (GC_gcollect): Use GC_default_stop_func.
|
|
|
* alloc.c (GC_collect_or_expand): Use GC_default_stop_func
|
|
|
-(instead of GC_never_stop_func) unless it is trigged due to out of
|
|
|
+(instead of GC_never_stop_func) unless it is triggered due to out of
|
|
|
memory; don't increment GC_fail_count and don't output warning
|
|
|
(before trying to collect again) in case the collection has been
|
|
|
interrupted (by GC_default_stop_func) and the heap expansion has
|
|
@@ -6899,9 +7469,9 @@ prevent left shift overflow.
|
|
|
* os_dep.c: change the type of GC_mem_top_down global variable
|
|
|
(containing a flag) to DWORD.
|
|
|
* include/gc_config_macros.h: define GC_SOLARIS_THREADS if GC_THREADS
|
|
|
-is defined on SunOS x86_64.
|
|
|
+is defined on SunOS/x64.
|
|
|
* misc.c (GC_init_size_map): Ifdef out GC_ASSERT as a workaround
|
|
|
-for VC++ 2008 amd64 (v15.00.21022.08 for x64) compiler bug
|
|
|
+for VC++ 2008 x64 (v15.00.21022.08 for x64) compiler bug
|
|
|
(the compiler gets hung if invoked with -Ox -D
|
|
|
ALL_INTERIOR_POINTERS -D GC_ASSERTIONS)
|
|
|
* backgraph.c: cast GC_gc_no value to unsigned short when
|
|
@@ -6997,7 +7567,7 @@ redundant code.
|
|
|
references to deleted variable "code". Remove redundant
|
|
|
FREEBSD definitions.
|
|
|
* include/private/gcconfig.h (GWW_VDB): Define for X86_64 when
|
|
|
-defined for X86. (STATIC): Define as "static" with NO_DEBUGGING.
|
|
|
+defined for x86. (STATIC): Define as "static" with NO_DEBUGGING.
|
|
|
|
|
|
* include/private/gc_priv.h: Update MAX_HEAP_SECTS.
|
|
|
|
|
@@ -7075,7 +7645,7 @@ My highlights based on reading the patch:
|
|
|
|
|
|
* allchblk.c: Remove GC_freehblk_ptr decl.
|
|
|
Make free_list_index_of() static.
|
|
|
-* include/gc.h: Use __int64 on win64, define GC_oom_func,
|
|
|
+* include/gc.h: Use __int64 on Win64, define GC_oom_func,
|
|
|
GC_finalizer_notifier_proc, GC_finalizer_notifier_proc,
|
|
|
add getter and setters: GC_get_gc_no, GC_get_parallel,
|
|
|
GC_set_oom_fn, GC_set_finalize_on_demand,
|
|
@@ -7143,7 +7713,7 @@ GC_delete_gc_thread.
|
|
|
* misc.c: Declare GC_thr_init().
|
|
|
|
|
|
* allchblk.c (add_to_fl): disable assertions with USE_MUNMAP,
|
|
|
-and refine assertions to handle huge unmergable blocks.
|
|
|
+and refine assertions to handle huge unmergeable blocks.
|
|
|
(GC_allochblk_nth): Add comment.
|
|
|
|
|
|
* include/private/gcconfig.h: Add missing FREEBSD macro
|
|
@@ -7403,18 +7973,18 @@ include/private/gc_priv.h, tests/test_cpp.cc:
|
|
|
Replace old style function declarations. Clean up integral types.
|
|
|
Remove register declarations. The change in malloc.c and the
|
|
|
"int descr" declaration in mark.c are the most likely to have
|
|
|
-been real bugs outside of win64.
|
|
|
-* msvc_dbg.c: Disable on win64.
|
|
|
-* win32_threads.c: Add AMD64 support.
|
|
|
-* include/gc.h: no backtrace on AMD64 for now.
|
|
|
+been real bugs outside of Win64.
|
|
|
+* msvc_dbg.c: Disable on Win64.
|
|
|
+* win32_threads.c: Add x64 support.
|
|
|
+* include/gc.h: no backtrace on x64 for now.
|
|
|
|
|
|
* msvc_dbg.c(GetModuleBase): Replace strcat with strcat_s.
|
|
|
|
|
|
-* include/gc.h: (GC_word, GC_signed_word): Fix win64 definitions.
|
|
|
+* include/gc.h: (GC_word, GC_signed_word): Fix Win64 definitions.
|
|
|
Don't include windows.h in an extern "C" context.
|
|
|
-* include/private/gcconfig.h: Fix win64/X86_64 configuration.
|
|
|
+* include/private/gcconfig.h: Fix Win64 configuration.
|
|
|
* tests/test.c: Eliminate more old style function definitions.
|
|
|
-Cleanup pointer and integer casts for win64.
|
|
|
+Cleanup pointer and integer casts for Win64.
|
|
|
* tests/test_cpp.cc: Don't include gc_priv.h.
|
|
|
* NT_STATIC_THREADS_MAKEFILE: Restrict suffixes for VC++ 2005.
|
|
|
* NT_X64_STATIC_THREADS_MAKEFILE: New.
|
|
@@ -7871,7 +8441,7 @@ 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).
|
|
|
+* Added initial Solaris/x64 support (thanks to Rainer Orth).
|
|
|
|
|
|
|
|
|
== [6.7] 2006-03-03 ==
|
|
@@ -7893,7 +8463,7 @@ to Hanno Boeck).
|
|
|
David Ayers).
|
|
|
* Use ld instead of nonexistent ldz instruction in Darwin FindTopOfStack
|
|
|
(thanks to Andreas Tobler).
|
|
|
-* Add support for Darwin/X86 (thanks to Geoff Norton and the Mono
|
|
|
+* Add support for Darwin/x86 (thanks to Geoff Norton and the Mono
|
|
|
developers).
|
|
|
* Merge in some recent gcc fixes. Add ppc64 asm code. (Thanks to
|
|
|
Bryce McKinlay and other GCJ developers.)
|
|
@@ -8009,7 +8579,7 @@ is set (thanks to Alexander Petrossian).
|
|
|
Without it, s390x breaks. (Thanks to Ulrich Weigand.)
|
|
|
* Applied several MacOSX patches to support older tool chains (thanks
|
|
|
to Stefan Ring).
|
|
|
-* Bug fix for NetBSD/amd64 (thanks to Marc Recht).
|
|
|
+* Bug fix for NetBSD/x64 (thanks to Marc Recht).
|
|
|
* Add NetBSD/sh3 support (thanks to Uchiyama Yasushi).
|
|
|
* Fixed an uninitialized variable in cordprnt.c.
|
|
|
* Eliminated some, but not all, gcc -Wall warnings.
|
|
@@ -8017,7 +8587,7 @@ to Stefan Ring).
|
|
|
(thanks to Dan Grayson).
|
|
|
* GC_extend_size_map shouldn't adjust for GC_all_interior_pointers if
|
|
|
GC_DONT_ADD_BYTE_AT_END is set.
|
|
|
-* Changed some (long) casts to (word) in preparation for win64 (thanks
|
|
|
+* Changed some (long) casts to (word) in preparation for Win64 (thanks
|
|
|
to Peter Colson).
|
|
|
* Changed "int stack_size" declaration in pthread_support.c to use
|
|
|
size_t. (Only mattered with GC_ASSERTIONS enabled.)
|
|
@@ -8082,8 +8652,8 @@ to Andrew Begel).
|
|
|
== [6.3alpha6] 2004-05-06 ==
|
|
|
|
|
|
* Define USE_GENERIC_PUSH_REGS for NetBSD/M68K.
|
|
|
-* Fixed the X86_64 PREFETCH macros to correctly handle ia32e (which uses
|
|
|
-different prefetch instructions from AMD64). (Thanks to H.J. Lu.)
|
|
|
+* Fixed the x64 PREFETCH macros to correctly handle ia32e (which uses
|
|
|
+different prefetch instructions on x64). (Thanks to H.J. Lu.)
|
|
|
* GC_config_macros.h did not correctly define GC_WIN32_THREADS from
|
|
|
GC_THREADS.
|
|
|
* Added simple_example.html.
|
|
@@ -8123,7 +8693,7 @@ It probably made more sense in the gcc context.
|
|
|
* Explicitly ensure that NEED_FIND_LIMIT is defined for {Open,Net}BSD/ELF.
|
|
|
* Replaced USE_HPUX_TLS macro by USE_COMPILER_TLS, since gcc often
|
|
|
supports the same extension on various platforms.
|
|
|
-* Added some basic (completely untested) defines for win64, in support
|
|
|
+* Added some basic (completely untested) defines for Win64, in support
|
|
|
of future work.
|
|
|
* Declared GC_jmp_buf in os_dep.s as JMP_BUF instead of jmp_buf, fixing
|
|
|
a memory overwrite bug on Solaris and perhaps other platforms.
|
|
@@ -8310,7 +8880,7 @@ fork() call. Thus incremental collection in the child won't work
|
|
|
correctly. (Thanks to Ben Cottrell for pointing this out.)
|
|
|
- --enable-redirect-malloc is mostly untested and known not to work
|
|
|
on some platforms.
|
|
|
-- There seem to be outstanding issues on Solaris/X86, possibly with
|
|
|
+- There seem to be outstanding issues on Solaris/x86, possibly with
|
|
|
finding the data segment starting address.
|
|
|
- Very large root set sizes (> 16 MB or so) could cause the collector
|
|
|
to abort with an unexpected mark stack overflow. (Thanks to
|
|
@@ -8383,7 +8953,7 @@ and patch.)
|
|
|
* Added hand-coded structured exception handling support to mark.c.
|
|
|
This should enable support of dynamic libraries under win32 with
|
|
|
gcc-compiled code. (Thanks to Ranjit Mathew for the patch.)
|
|
|
-Turned on dynamic library scanning for win32/gcc.
|
|
|
+Turned on dynamic library scanning for gcc on Win32.
|
|
|
* Removed some remnants of read wrapping (thanks to Kenneth Schalk).
|
|
|
GC_USE_LD_WRAP was probably broken in recent versions.
|
|
|
* The build could fail on some platforms since gcconfig.h could include
|
|
@@ -8533,7 +9103,7 @@ The latter is more reliable and easier on Linux with dl_iterate_phdr.
|
|
|
* Added GC_MAXIMUM_HEAP_SIZE environment variable.
|
|
|
* Fix configure.in for MIPS/LINUX (thanks to H.J. Lu).
|
|
|
* Double page hash table size for -DLARGE_CONFIG.
|
|
|
-* Integrated Bo Thorsen's X86-64 support.
|
|
|
+* Integrated Bo Thorsen's x64 support.
|
|
|
* STACKBOTTOM definition for LINUX/MIPS was partially changed back
|
|
|
(thanks to H.J. Lu and Hiroshi Kawashima for resolving this).
|
|
|
* Replaced all occurrences of LINUX_DATA_START in gcconfig.h with
|
|
@@ -8638,7 +9208,7 @@ Jeffrey Mark Siskind).
|
|
|
with a system header (thanks to Philip Brown).
|
|
|
* Cause win32_threads.c to handle an out of range stack pointer correctly,
|
|
|
though currently with a warning. (Thanks to Jonathan Clark for
|
|
|
-observing that win32 applications may temporarily use the stack
|
|
|
+observing that Windows applications may temporarily use the stack
|
|
|
pointer for other purposes, and suggesting a fix. Unfortunately, it's
|
|
|
not clear that there is a complete solution to this problem.)
|
|
|
|
|
@@ -8717,7 +9287,7 @@ collectible (gc_allocator) or GC-traceable, but not collectible
|
|
|
which borrows heavily from the SGI implementation, this part of
|
|
|
which was written by Matt Austern. Changed test_cpp.cc to very
|
|
|
minimally test this.
|
|
|
-* On Linux/X86, retry mmap with a different start argument. That should
|
|
|
+* On Linux/x86, retry mmap with a different start argument. That should
|
|
|
allow the collector to use more (closer to 3GB) of the address space.
|
|
|
* Force 64 bit alignment with GCJ support (reflects Bryce McKinlay's
|
|
|
patch to the gcc tree).
|
|
@@ -8739,7 +9309,7 @@ Tilman Vogel; also ported for iPAQ by Oliver Kurth).
|
|
|
== [6.1alpha3] 2002-02-07 ==
|
|
|
|
|
|
* Minor cleanup on the gcconfig.h section for SPARC.
|
|
|
-* Minor fix to support Intel compiler for I386/Linux (thanks to
|
|
|
+* Minor fix to support Intel compiler for Linux/x86 (thanks to
|
|
|
Sven Hartrumpf).
|
|
|
* Added SPARC V9 (64-bit) support (thanks to Jeff Sturm).
|
|
|
* Restructured the way in which we determine whether or not to keep
|
|
@@ -8955,7 +9525,7 @@ many people are likely to care, but ...)
|
|
|
yet supported. (Incremental collection should work if you have the
|
|
|
right kernel. Threads may work with a sufficiently patched pthread
|
|
|
library.)
|
|
|
-* Changed gcconfig.h to recognize __i386__ as an alternative to i386 in
|
|
|
+* Changed gcconfig.h to recognize __i386__ as an alternative to x86 in
|
|
|
many places (thanks to Benjamin Lerman).
|
|
|
* Made win32_threads.c more tolerant of detaching a thread that it didn't
|
|
|
know about (thanks to Paul Nash).
|
|
@@ -9005,7 +9575,7 @@ for pointing this out).
|
|
|
* Added GC_no_dls hook for applications that want to register their own
|
|
|
roots.
|
|
|
* Integrated Kjetil Matheussen's Amiga changes.
|
|
|
-* Added FREEBSD_STACKBOTTOM. Changed the X86/FreeBSD port to use it
|
|
|
+* Added FREEBSD_STACKBOTTOM. Changed the FreeBSD/x86 port to use it
|
|
|
(thanks to Matthew Flatt).
|
|
|
* Added pthread_detach interception for platforms supported by linux_threads.c
|
|
|
and irix_threads.c.
|
|
@@ -9124,10 +9694,10 @@ were and never will be any clients.
|
|
|
* Added some code to linux_threads.c to possibly support HPUX threads
|
|
|
using the Linux code. Unfortunately, it doesn't work yet, and is
|
|
|
currently disabled.
|
|
|
-* Added support under Linux/X86 for saving the call chain, both in (debug)
|
|
|
+* Added support under Linux/x86 for saving the call chain, both in (debug)
|
|
|
objects for client debugging, and in GC_arrays._last_stack for GC
|
|
|
debugging. This was previously supported only under Solaris. It is
|
|
|
-not enabled by default under X86, since it requires that code be compiled
|
|
|
+not enabled by default under x86, since it requires that code be compiled
|
|
|
to explicitly gave frame pointers on the call stack. (With gcc this
|
|
|
currently happens by default, but is often turned off explicitly.)
|
|
|
To turn it on, define SAVE_CALL_CHAIN.
|
|
@@ -9621,7 +10191,7 @@ supported. The collector now defines USE_MMAP by default on Solaris.
|
|
|
* Fixed MSWIN32 detection test.
|
|
|
* Added Fergus Henderson's patches to allow putting the collector into
|
|
|
a DLL under GNU win32.
|
|
|
-* Added Ivan V. Demakov's port to Watcom C on X86.
|
|
|
+* Added Ivan V. Demakov's port to Watcom C on x86.
|
|
|
* Added Ian Piumarta's Linux/PowerPC port.
|
|
|
* Added PointerFreeGC to the placement options in gc_cpp.h (suggested by
|
|
|
Brian Burton). This is of course unsafe, and may be controversial.
|
|
@@ -9852,7 +10422,7 @@ gc_cleanup is miscompiled.
|
|
|
* Added Mac fixes.
|
|
|
* Fixed os_dep.c to work around what appears to be
|
|
|
a new and different VirtualQuery bug under newer
|
|
|
-versions of win32S.
|
|
|
+versions of win32s.
|
|
|
* GC_non_gc_bytes was not correctly maintained by
|
|
|
GC_free. Fixed (thanks to James Clark).
|
|
|
* Added GC_set_max_heap_size.
|
|
@@ -10018,8 +10588,8 @@ a problem.
|
|
|
* Fixed a gross bug in CORD_prev.
|
|
|
* Fixed a bug in blacklst.c that could result in unbounded
|
|
|
heap growth during startup on machines that do not clear
|
|
|
-memory obtained from the OS (e.g. win32S).
|
|
|
-* Ported de editor to win32/win32S. (This is now the only
|
|
|
+memory obtained from the OS (e.g. win32s).
|
|
|
+* Ported de editor to Win32 and win32s. (This is now the only
|
|
|
version with a mouse-sensitive UI. Thanks to Rob Haack for the
|
|
|
implementation based on the generic Windows application template.)
|
|
|
* Added GC_malloc_ignore_off_page to allocate large arrays
|
|
@@ -10055,7 +10625,7 @@ optimizer bug.
|
|
|
only by reimplementing some fraction of Solaris threads,
|
|
|
since Sun doesn't currently make the thread debugging
|
|
|
interface available).
|
|
|
-* Added non-threads win32 and win32S support.
|
|
|
+* Added non-threads Win32 and win32s support.
|
|
|
* (Grudgingly, with suitable muttering of obscenities) renamed
|
|
|
files so that the collector distribution could live on a FAT
|
|
|
file system. Files that are guaranteed to be useless on
|