/[emacs]/emacs/gc/doc/README.changes
ViewVC logotype

Diff of /emacs/gc/doc/README.changes

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2.2.1 by fx, Thu Jun 5 18:23:04 2003 UTC revision 1.2.2.2 by fx, Mon Jun 16 15:36:56 2003 UTC
# Line 1780  Since 6.2alpha3: Line 1780  Since 6.2alpha3:
1780     when it should have called the lower case version, since it was     when it should have called the lower case version, since it was
1781     explicitly computing a base pointer.     explicitly computing a base pointer.
1782    
1783    Since 6.2alpha4:
1784     - GC_invoke_finalizers could, under rare conditions, set
1785       GC_finalizer_mem_freed to an essentially random value.  This could
1786       possibly cause unbounded heap growth for long-running applications
1787       under some conditions.  (The bug was introduced in 6.1alpha5, and
1788       is not in gcc3.3.  Thanks to Ben Hutchings for finding it.)
1789     - Attempted to sanitize the various DLL macros.  GC_USE_DLL disappeared.
1790       GC_DLL is used instead.  All internal tests are now on GC_DLL.
1791       README.macros is now more precise about the intended meaning.
1792     - Include DllMain in the multithreaded win32 version only if the
1793       collector is actually built as a dll.  (Thanks to Mohan Embar for
1794       a version of the patch.)
1795     - Hide the cygwin threadAttach/Detach functions.  They were violating our
1796       namespace rules.  
1797     - Fixed an assertion in GC_check_heap_proc.  Added GC_STATIC_ASSERT.
1798       (Thanks again to Ben Hutchings.)
1799     - Removed some obsolete definitions for Linux/PowerPC in gcconfig.h.
1800     - CORD_cat was not rebalancing unbalanced trees in some cases, violating
1801       a CORD invariant.  Also tweaked the rebalancing rule for
1802       CORD_cat_char_star.  (Thanks to Alexandr Petrosian for the bug report
1803       and patch.)
1804     - Added hand-coded structured exception handling support to mark.c.
1805       This should enable support of dynamic libraries under win32 with
1806       gcc-compiled code.  (Thanks to Ranjit Mathew for the patch.)
1807       Turned on dynamic library scanning for win32/gcc.
1808     - Removed some remnants of read wrapping.  (Thanks to Kenneth Schalk.)
1809       GC_USE_LD_WRAP ws probably broken in recent versions.
1810     - The build could fail on some platforms since gcconfig.h could include
1811       declarations mentioning ptr_t, which was not defined, e.g. when if_mach
1812       was built.  (Thanks to Yann Dirson for pointing this out.)  Also
1813       cleaned up tests for GC_PRIVATE_H in gcconfig.h a bit.
1814     - The GC_LOOP_ON_ABORT environment variable interfered with incremental
1815       collection, since the write fault handler was erroneously overridden.
1816       Handlers are now set up in the correct order.
1817     - It used to be possible to call GC_mark_thread_local_free_lists() while
1818       the world was not stopped during an incremental GC.  This was not safe.
1819       Fortunately, it was also unnecessary.  Added GC_world_stopped flag
1820       to avoid it.  (This caused occasional crashes in GC_set_fl_marks
1821       with thread local allocation and incremental GC.  This probably happened
1822       primarily on old, slow multiprocessors.)
1823     - Allowed overriding of MAX_THREADS in win32_threads.c from the build
1824       command line.  (Patch from Yannis Bres.)
1825     - Taught the IA64/linux code to determine the register backing store base from
1826       /proc/self/maps after checking the __libc symbol, but before guessing.
1827       (__libc symbols are on the endangered list, and the guess is likely to not
1828       always be right for 2.6 kernels.)  Restructured the code to read and parse
1829       /proc/self/maps so it only exists in one place (all platforms).
1830     - The -DUSE_PROC_FOR_LIBRARIES code was broken on Linux.  It claimed that it
1831       also registered the main data segment, but didn't actually do so.  (I don't
1832       think anyone actually uses this configuration, but ...)
1833     - Made another attempt to get --enablecplusplus to do the right thing.
1834       Since there are unavoidable problems with C programs linking against a
1835       dynamic library that includes C++ code, I separated out the c++ code into
1836       libgccpp.
1837    
1838    Since 6.2alpha5:
1839     - There was extra underscore in the name of GC_save_registers_in_stack
1840       for NetBSD/SPARC.  (Thanks to Jaap Boender for the patch.)
1841     - Integrated Brian Alliet's patch for Darwin.  This restructured the
1842       linuxthreads/pthreads support to separate generic pthreads support
1843       from more the system-dependent thread-stopping code.  I believe this
1844       should make it easier to eliminate the code duplication between
1845       pthreads platforms in the future.  The patch included some other
1846       code cleanups.
1847     - Integrated Dan Bonachea's patch to support AIX threads.  This required
1848       substantial manual integration, mostly due to conflicts with other
1849       recent threads changes.  It may take another iteration to
1850       get it to work.
1851     - Removed HPUX/PA-RISC support from aix_irix_threads.c.  It wasn't used
1852       anyway and it cluttered up the code.  And anything we can do to migrate
1853       towards generic pthreads support is a good thing.
1854     - Added a more explicit test for tracing of function arguments to test.c.
1855       (Thanks to Dan Grayson.)
1856     - Added Akira Tagoh's PowerPC64 patch.
1857     - Fixed some bit rot in the Cygwin port.  (Thanks to Dan Bonachea for
1858       pointing it out.)  Gc.h now includes just windows.h, not winbase.h.
1859     - Declared GC_save_regs_in_stack() in gc_priv.h.  Remove other declarations.
1860     - Changed --enable-cplusplus to use automake consitionals.  The old way
1861       confused libtool.  "Make install" didn't work correctly for the old version.
1862       Previously --enable-cplusplus was broken on cygwin.
1863     - Changed the C version of GC_push_regs to fail at compile time if it is
1864       generated with an empty body.  This seems to have been the cause of one
1865       or two subtle failures on unusual platforms.  Those failures should
1866       now occur at build time and be easily fixable.
1867        
1868    
1869  To do:  To do:
  - MacOSX thread support still appears to be a bit unreliable.  
1870   - A dynamic libgc.so references dlopen unconditionally, but doesn't link   - A dynamic libgc.so references dlopen unconditionally, but doesn't link
1871     against libdl.     against libdl.
1872   - GC_proc_fd for Solaris is not correctly updated in response to a   - GC_proc_fd for Solaris is not correctly updated in response to a

Legend:
Removed from v.1.2.2.1  
changed lines
  Added in v.1.2.2.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26