summaryrefslogtreecommitdiff
path: root/boehm-gc/doc/README.changes
diff options
context:
space:
mode:
Diffstat (limited to 'boehm-gc/doc/README.changes')
-rw-r--r--boehm-gc/doc/README.changes144
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