From c3b58c0f45a886dc5f6fbc54591c40cd2753950b Mon Sep 17 00:00:00 2001 From: Ivan Maidanski Date: Mon, 25 Apr 2022 09:22:12 +0300 Subject: Update ChangeLog file (v8.2 changes) --- ChangeLog | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index 53025ded..18101d33 100644 --- a/ChangeLog +++ b/ChangeLog @@ -96,16 +96,22 @@ == [8.2.2] (not released yet) == +* 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 +* Avoid potential signal loss before sigsuspend in suspend_handler if TSan * Distribute gc_gcj.h and some other headers in single-obj-compilation * 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 start threads in gctest child process if ThreadSanitizer +* 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 'buffer overflow detected' FP error in realloc_test @@ -119,6 +125,7 @@ * Eliminate 'value exceeds maximum object size' gcc warnings in huge_test * Eliminate 'writing into region of size 0' gcc FP warning in realloc * 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 * Fix 'GC_greatest_stack_base_below is defined but not used' warning (IA64) @@ -128,10 +135,19 @@ * 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_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 abort when GC_repeat_read returns zero +* 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 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 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 @@ -139,8 +155,10 @@ * 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 pthread_setname_np and dladdr detection by CMake * 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 * Move platform-specific sleep call to GC_usleep (refactoring) * 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 @@ -152,12 +170,21 @@ * Retry pthread_kill if EAGAIN (Linux) * Revert addition of msvc_dbg.h in include.am * Start configure help messages with a lower case letter +* Support Elbrus 2000 (Linux/e2k) * Support GCC MCF thread model (mcfgthreads) in configure (MinGW) * Support OpenBSD/riscv64 * Support space-separated flags in CFLAGS_EXTRA passed to CMake * Update README.win32 about default build configuration (configure, cmake) +* Use SIGRTMIN+6 as suspend signal if sigrt-signals on OpenBSD +* Use SIGUSR1/2 on FreeBSD/arm64 * 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 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) -- cgit v1.2.1