diff options
Diffstat (limited to 'boehm-gc/doc/README.changes')
-rw-r--r-- | boehm-gc/doc/README.changes | 144 |
1 files changed, 144 insertions, 0 deletions
diff --git a/boehm-gc/doc/README.changes b/boehm-gc/doc/README.changes index e27e7d635b6..97b0b684dde 100644 --- a/boehm-gc/doc/README.changes +++ b/boehm-gc/doc/README.changes @@ -2100,7 +2100,151 @@ Since gc6.3alpha6: to Andrew Begel.) - Fix GC_task_self declaration in os_dep.c. (Thanks to Andrew Pinski.) - Increase INITIAL_BUF_SZ in os_dep.c for Solaris /proc reads. + +Since 6.3: + - Merge gcconfig.h changes from gcc tree. + - Unconditionally include gc_priv.h in solaris_pthreads.c, win32_threads.h, + aix_irix_threads.c, and solaris_threads.c to get thread definitions. + - Start marker threads in GC_thr_init, so that they get started even + if no other threads are ever started. (Oddly enough, the parallel + collector worked correctly, though not well, with no helper threads.) + - Go ahead and split large blocks in GC_allochblk_nth if GC_dont_gc + is set. (Thanks to Alexander Petrossian.) + - GC_PRINT_BACK_HEIGHT would deadlock with thread support. + - Let in_progress_space in backgraph.s grow dynamically. + - Fix README.solaris2. The GC_thr_init() hack doesn't work anymore. + - Convert GC_finalizer_mem_freed to bytes in allchblk.c. + - Add missing declaration for GC_generic_malloc_words_small_inner. + 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.) Add NetBSD/sh3 + support. (Thanks to Uchiyama Yasushi.) + - Fixed an uninitialized variable in cordprnt.c. (Thanks to gcc for + providing the warning.) + - Eliminated some, but not all, gcc -Wall warnings. + - Changed some old style casts to reinterpret_cast in new_gc_alloc.h. + (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 to Peter Colson.) + - Changed "int stack_size" declaration in pthread_support.c to use + size_t. (Only mattered with GC_ASSERTIONS enabled.) + - Added CRIS (etrax) support. (Thanks to Simon Posnjak and + Hans-Peter Nilsson.) + - Removed GC_IGNORE_FB frame buffer recognition, and replaced + it with a check that the mapping type is MEM_IMAGE. + In theory, this should work much better, but it is a high + risk change for win32. (Thanks to Ashley Bone for the crucial + experimental data behind this, and to Rutger Ovidus for + some further experiments.) + - Fixed print_block_list to print the correct kind number for + STUBBORN. (Thanks to Rutger Ovidus.) + - GC_allochblk_nth incremented GC_words_wasted by bytes rather than + words. + - Consider GC_words_wasted in GC_adj_words_allocd only if it is within + reason. (A hack to avoid some extremely unlikely scenarios in which + we manage to allocate only "wasted" space. 7.0 has a better fix.) + - Changed PowerPC GC_clear implementation to use lwsync instead of + eieio, since the documentation recommends against eieio, and + it seems to be incorrect if the preceding memory op is a load. + - Fixed print_block_list to print the correct kind number for + STUBBORN. (Thanks to Rutger Ovidus.) + - Have configure.in generate an error if it is asked to support + pthreads, but doesn't know how to. + - Added Kazuhiro Inaoka's patch for Renesas M32R support. + - Have the GNU build mechanism link with -ldl. Rename THREADLIBS + to THREADDLLIBS to reflect this. (Thanks to Sven Verdoolaege.) + - Added Hannes Mehnert's patch for FreeBSD/SPARC support. + - Merged some FreeBSD specific patches to threadlibs.c and dyn_load.c. + (Thanks tp John Merryweather Cooper.) + - Define MPROTECT_VDB on MACOSX only if threads are being used, since the + dirty page tracking mechanism uses threads. (This avoids an undefined + reference to _GC_darwin_register_mach_handler_thread.) + - By popular demand, use __libc symbols only if we are built with + USE_LIBC_PRIVATES, which is off by default, and not otherwise documented. + - Ignore GC_enable_incremental() requests when KEEP_BACK_PTRS is set. + The GC itself will dirty lots of pages in this cases, probably making + it counterproductive on all platforms. And the DARWIN port crashes. + +Since GC6.4: + - Integrated Paolo Molaro's patch to deal with EINTR in sem_wait. + - Make GC_approx_sp() write to dummy location to ensure that stack + is grown here, when sp looks reasonable, rather than later, when + it might look like a bad memory reference. (Problem was never + observed that I know of. But on rereading the code it seemed + dubious.) + - Separate out GC_with_callee_saves_pushed and sometimes call + it from GC_suspend_handler in pthread_stop_world.c. Callee-save + register values sometimes failed to get traced under HP/UX on + PA-RISC. Linux/IA64 had the same problem, though non-stacked + callee-save registers seem to be so rarely used there that nobody + ever noticed. + - Integrated an ancient Darwin powerpc_darwin_machine_dep.s patch + from Andreas Tobler, which I had lost. + - Fix compare_and_exchange implementation for gcc/IA64 to deal with + pickier compiler versions. + - Fixed Itanium 32-bit ABI support (HP/UX). In particular, the + compare_and_exchange implementation didn't consider that possibility. + - Undefine GC_pthread_detach in win32_threads.c. (Thanks to + Tagliapietra Tommaso.) + - Fixed inclusion of frame.h for NETBSD in os_dep.c. + - Applied Dan Bonachea's patch to use mmap on AIX. + - Several fixes to resurrect the Irix port on recent OS versions. + - Change ALPHA to use LINUX_STACKBOTTOM. + - Change SPARC64/LINUX to also use LINUX_STACKBOTTOM. Deal with potential + bad values of __libc_stack_end on that platform. (Thanks to David Miller.) + - Relax gctest to allow larger heap if ALIGN_DOUBLE isn't set. + (Unnecessary in 7.0) + - Force a define of __STDC__=0 for the IBM compiler on AIX, so that + we get prototypes. (Unnecessary in 7.0) + - GC_INIT definition for AIX and CYGWIN referred to DATASTART and DATAEND + which are only defined in private include files. + - Integrated some small gcconfig.h patches from Dan Bonachea. Also + relaxed assertion about FreeBSD stack size in pthread_support.c. + - Integrated Andrew Begel's darwin_stop_world.c patch for 64-bit + support. This may need additional work. + - Avoided potentially infinite recursion in GC_save_callers if + the system backtrace calls malloc. The workaround currently requires + __thread support if this code is used with threads. + - Avoided another similar infinite recursion by conditionally + invoking GC_save_callers in alloc.c. (Thanks to Matthias Andree + for helping to track down both of these.) + - Removed all traces of aix_irix_threads.c. AIX and Irix now use + pthread_support.c and pthread_stop_world.c. The old code appeared + to be unreliable for AIX, and was not regularly maintained. + - On Irix, ignore segments with MA_FETCHOP or MA_NOTCACHED attributed; + they're not always safe to read. + - Fixed a previously vacuous assertion (diagnosed by the SGI compiler) + in GC_remove_from_fl. + - Fix stack_size assertion in GC_pthread_create. + - Fix assertion in GC_steal_mark_stack. +Since 6.5 + - Fix CPU count detection for Irix and FreeBSD. (Thanks to Dan Bonachea.) + - Integrate Dan Bonachea's patch for the IBM XLC compiler on Darwin. + - Integrated Andreas Tobler's FreeBSD/PowerPC patch. + - Don't access the GC thread structure from the restart handler. It's + unsafe, since the handler may run too late. (Thanks to Ben Maurer for + tracking this down.) + - Applied Christian Thalinger's patch to change comment syntax in + alpha_mach_dep.S. + - Added test for GC_no_dls in GC_dyld_image_add for DARWIN. (Thanks to + Juan Jose Garcia Ripoli). + - Use LINUX_STACKBOTTOM for Linux/SH and LINUX/ARM. (Thanks to Sugioka + Toshinobu and Christian Thalinger.) + - Rewrote GC_parse_map_entry. This assumed a fixed column layout of + /proc/self/maps on Linux. This ceased to be true about 2 years ago. + The old code is probably quite problemetic with -DREDIRECT_MALLOC. It + is also used by default for IA64, though I haven't seen actual failures + there. + - More consistently define HBLKSIZE to 4096 on 64 bit architectures with + 4K pages. (Thanks to Andrew Haley.) + - With win32 threads, GC_stop_world needs to acquire GC_write_cs. (Thanks + to Ben Hutchings for the observation and patch.) + - Move up struct callinfo declaration to make gcc 4.0.2. happy. + To do: - The USE_MUNMAP code should really use a separate data structure indexed by physical page to keep track of time since last use of |