head 1.10; access; symbols pkgsrc-2013Q2:1.10.0.4 pkgsrc-2013Q2-base:1.10 pkgsrc-2012Q4:1.10.0.2 pkgsrc-2012Q4-base:1.10 pkgsrc-2012Q1:1.9.0.18 pkgsrc-2012Q1-base:1.9 pkgsrc-2011Q4:1.9.0.16 pkgsrc-2011Q4-base:1.9 pkgsrc-2011Q3:1.9.0.14 pkgsrc-2011Q3-base:1.9 pkgsrc-2011Q2:1.9.0.12 pkgsrc-2011Q2-base:1.9 pkgsrc-2011Q1:1.9.0.10 pkgsrc-2011Q1-base:1.9 pkgsrc-2010Q4:1.9.0.8 pkgsrc-2010Q4-base:1.9 pkgsrc-2010Q3:1.9.0.6 pkgsrc-2010Q3-base:1.9 pkgsrc-2010Q2:1.9.0.4 pkgsrc-2010Q2-base:1.9 pkgsrc-2010Q1:1.9.0.2 pkgsrc-2010Q1-base:1.9 pkgsrc-2009Q4:1.8.0.16 pkgsrc-2009Q4-base:1.8 pkgsrc-2008Q4:1.8.0.14 pkgsrc-2008Q4-base:1.8 pkgsrc-2008Q3:1.8.0.12 pkgsrc-2008Q3-base:1.8 cube-native-xorg:1.8.0.10 cube-native-xorg-base:1.8 pkgsrc-2008Q2:1.8.0.8 pkgsrc-2008Q2-base:1.8 pkgsrc-2008Q1:1.8.0.6 pkgsrc-2008Q1-base:1.8 pkgsrc-2007Q4:1.8.0.4 pkgsrc-2007Q4-base:1.8 pkgsrc-2007Q3:1.8.0.2 pkgsrc-2007Q3-base:1.8 pkgsrc-2007Q2:1.7.0.16 pkgsrc-2007Q2-base:1.7 pkgsrc-2007Q1:1.7.0.14 pkgsrc-2007Q1-base:1.7 pkgsrc-2006Q4:1.7.0.12 pkgsrc-2006Q4-base:1.7 pkgsrc-2006Q3:1.7.0.10 pkgsrc-2006Q3-base:1.7 pkgsrc-2006Q2:1.7.0.8 pkgsrc-2006Q2-base:1.7 pkgsrc-2006Q1:1.7.0.6 pkgsrc-2006Q1-base:1.7 pkgsrc-2005Q4:1.7.0.4 pkgsrc-2005Q4-base:1.7 pkgsrc-2005Q3:1.7.0.2 pkgsrc-2005Q3-base:1.7 pkgsrc-2005Q2:1.6.0.14 pkgsrc-2005Q2-base:1.6 pkgsrc-2005Q1:1.6.0.12 pkgsrc-2005Q1-base:1.6 pkgsrc-2004Q4:1.6.0.10 pkgsrc-2004Q4-base:1.6 pkgsrc-2004Q3:1.6.0.8 pkgsrc-2004Q3-base:1.6 pkgsrc-2004Q2:1.6.0.6 pkgsrc-2004Q2-base:1.6 pkgsrc-2004Q1:1.6.0.4 pkgsrc-2004Q1-base:1.6 pkgsrc-2003Q4:1.6.0.2 pkgsrc-2003Q4-base:1.6 buildlink2-base:1.5 netbsd-1-5-PATCH001:1.4 netbsd-1-5-RELEASE:1.3 netbsd-1-4-PATCH003:1.3 netbsd-1-4-PATCH002:1.2 comdex-fall-1999:1.1; locks; strict; comment @# @; 1.10 date 2012.05.29.14.35.42; author wiz; state dead; branches; next 1.9; 1.9 date 2010.01.20.10.01.19; author wiz; state Exp; branches; next 1.8; 1.8 date 2007.07.07.15.21.08; author wiz; state dead; branches; next 1.7; 1.7 date 2005.07.02.12.55.40; author wiz; state Exp; branches; next 1.6; 1.6 date 2003.05.09.12.53.27; author jmmv; state Exp; branches; next 1.5; 1.5 date 2001.09.08.00.36.10; author kei; state dead; branches; next 1.4; 1.4 date 2000.11.16.10.42.24; author abs; state Exp; branches; next 1.3; 1.3 date 2000.06.30.19.36.06; author itojun; state Exp; branches; next 1.2; 1.2 date 99.11.15.17.59.48; author rh; state Exp; branches; next 1.1; 1.1 date 99.09.24.16.42.06; author jlam; state Exp; branches; next ; desc @@ 1.10 log @Update to 7.2b: 7.2b: An incorrect assertion in multi-threaded mode was fixed. 7.2: This release adds many enhancements and fixes. @ text @$NetBSD: patch-ae,v 1.9 2010/01/20 10:01:19 wiz Exp $ --- mach_dep.c.orig 2007-08-13 21:49:11.000000000 +0000 +++ mach_dep.c @@@@ -78,6 +78,7 @@@@ asm static void PushMacRegisters() #if defined(USE_ASM_PUSH_REGS) # define HAVE_PUSH_REGS #else /* No asm implementation */ +#if !defined(SPARC) void GC_push_regs() { # if defined(M68K) && defined(AMIGA) @@@@ -150,6 +151,7 @@@@ void GC_push_regs() # endif /* __MWERKS__ */ # endif /* MACOS */ } +#endif /* !SPARC */ #endif /* !USE_ASM_PUSH_REGS */ #if defined(HAVE_PUSH_REGS) && defined(THREADS) @ 1.9 log @Avoid duplicate symbol definition for GC_push_regs in sparc_netbsd_mach_dep.s and mach_dep.c. From PR 42634 by Bertrand Joel. Bump PKGREVISION. @ text @d1 1 a1 1 $NetBSD$ @ 1.8 log @Update to 7.0: Changes relative to 6.8 include, in no particular order: - Change C code to require at least C89. Clean up code in various other respects. - Win64 port. - Always count how much live data there is in the heap. Add more robust heap expansion heuristic which relies on this. - Remove old-style Solaris threads support and some other obsolete platform support. - Restructure mark code, hopefully resulting in some performance improvements. - Change the GC code to traffic mostly in either bytes or allocation granules, not words, internally. - Provide for fast inline allocation that requires less frequent client recompilations. (Needs more testing.) - Removed SILENT configuration macro and PRINTSTATS and GATHERSTATS macros. Control is now via GC_PRINT_STATS and GC_PRINT_VERBOSE_STATS encironment variables. - Thread local allocation is now performed without needing to call special allocation functions. The configuration macro THREAD_LOCAL_ALLOC continues to determine whether this is supported. - Thread local allocation is supported on more platforms. - Win32 threads code was rewritten and is hopefully more sane. - Allocation routines now decide whether to lock dynamically, based on whether a second thread has been created. - Mostly untested support for a compiler write barrier. - Use libatomic_ops for atomic operations. - Limited support for malloc redirection with Linux threads (& NPTL ). - Various bug fixes and some new platform support. @ text @d1 1 a1 1 $NetBSD: patch-ae,v 1.7 2005/07/02 12:55:40 wiz Exp $ d3 18 a20 11 --- doc/Makefile.in.orig 2005-05-17 01:28:27.000000000 +0200 +++ doc/Makefile.in @@@@ -30,7 +30,7 @@@@ srcdir = @@srcdir@@ top_srcdir = @@top_srcdir@@ VPATH = @@srcdir@@ -pkgdatadir = $(datadir)/@@PACKAGE@@ +pkgdatadir = $(datadir)/doc/@@PACKAGE@@ pkglibdir = $(libdir)/@@PACKAGE@@ pkgincludedir = $(includedir)/@@PACKAGE@@ top_builddir = .. @ 1.7 log @Update to 0.6.5: minor bugfixes. @ text @d1 1 a1 1 $NetBSD: patch-ae,v 1.6 2003/05/09 12:53:27 jmmv Exp $ @ 1.6 log @Update to 6.2alpha4. The package version is set to 6.1.994 so that future version checking will be correct when 6.2 final is out. Changes since 6.1: - Guard the test for GC_DUMP_REGULARLY in misc.c with "#ifndef NO_DEBUGGING". Otherwise it fails to build with NO_DEBUGGING defined. (Thanks to Manuel Serrano.) - Message about retrying suspend signals was incorrectly generated even when flag was not set. - Cleaned up MACOSX/NEXT root registration code. There was apparently a separate ifdef case in GC_register_data_segments() for no reason. - Removed MPROTECT_VDB for MACOSX port, based on one negative report. - Arrange for gc.h and friends to be correctly installed with GNU-style "make install". - Enable the GNU-style build facility include C++ support in the library with --enable-cplusplus. (Thanks to Thomas Maier for some of the patch.) - Mark from GC_thread_key in linux_threads.c, in case that's allocated from the garbage collected heap, as it is with our own thread-specific storage implementation. (Thanks to Jeff Sturm.) - Mark all free list header blocks if they are heap allocated. This avoids some unnecessary tracing. And it remains correct if we clear the root set. (Thanks to Jeff Sturm for identifying the bug.) - Improved S390/Linux support. Add S390/Linux 64-bit support. (Thanks to Ulrich Weigand.) - Corrected the spelling of GC_{M,C}ALLOC_EXPLICTLY_TYPED to GC_{M,C}ALLOC_EXPLICITLY_TYPED in gc_typed.h. This is technically an interface change. Based on the fact that nobody reported this, I suspect/hope there were no clients. - Cleaned up gc_typed.h so that (1) it adds an extern "C" declaration when appropriate, (2) doesn't generate references to undefined internal macros, and (3) allows easier manual construction of descriptors. - Close the file descriptor used by GC_print_address_map(). - Set the "close-on-exec" bit for various file descriptors maintained for the collector's internal use. - Added a hack to find memory segments owned by the system allocator under win32. Based on my tests, this tends to eventually find all segments, though it may take a while. There appear to be cleaner, but slower solutions under NT/XP. But they rely on an API that's unsupported under 9X. - Changed Linux PowerPC stack finding to LINUX_STACKBOTTOM. (Thanks to Akira Tagoh for pointing out that HEURISTIC1 doesn't work on 64-bit kernels.) - Added GC_set_free_space_divisor to avoid some Windows dll issues. - Added FIXUP_POINTER, POINTER_SHIFT, POINTER_MASK to allow preprocessing of candidate pointers for tagging, etc. - Always lock around GC_notify_full_gc(). Simplified code for invoking GC_notify_full_gc(). - Changed the way DATASTART is defined on FreeBSD to be robust against an unmapped page after etext. (Thanks to Hironori Sakamoto for tracking down the intermittent failure.) - Made GC_enable() and GC_disable() official. Deprecated direct update of GC_dont_gc. Changed GC_gcollect to be a noop when garbage collection is disabled. - Call GC_register_dynamic_libraries before stopping the world on Linux, in order to avoid a potential deadlock due to the dl_iterate_phdr lock. - Introduced a more general mechanism for platform-dependent code to decide whether the main data segment should be handled separately from dynamic libraries, or registered by GC_register_dynamic_libraries. The latter is more reliable and easier on Linux with dl_iterate_phdr. Changes since 6.2alpha1: - Fixed the completely broken FreeBSD code in 6.2alpha1. (Thanks to Hironori Sakamoto for the patch.) - Changed IRIX reference in dbg_mlc.c to IRIX5. (Thanks to Marcus Herbert.) - Attempted to work around the problems with .S filenames and the SGI compiler. (Reported by several people. Untested.) - Worked around an HP/UX make issue with the GNU-style build process. - Fixed the --enable-cplusplus build machinery to allow builds without a C++ compiler. (That was always the intent ...) - Changed the debugging allocation macros to explicitly pass the return address for Linux and XXXBSD on hardware for which we can't get stack traces. Use __builtin_return_address(0) to generate it when possible. Some of the configuration work was cleaned up (good) and moved to gc.h (bad, but necessary). This should make leak detection more useful on a number of platforms. (Thanks to Fabian Thylman for the suggestion.) - Fixed compilation problems in dbg_mlc.c with GC_ADD_CALLER. - Bumped revision number for dynamic library. Changes since 6.2alpha2: - Don't include execinfo.h in os_dep.c when it's not needed, and may not exist. Changes since 6.2alpha3: - Use LINUX_STACKBOTTOM for >= glibc2.2 on Linux/MIPS. (See Debian bug # 177204) - Integrated Jeff Sturm and Jesse Rosenstock's MACOSX threads patches. - Integrated Grzegorz Jakacki's substantial GNU build patch. "Make dist" should now work for the GNU build process. Documentation files are installed under share/gc. - Tweaked gc_cpp.h to again support the Borland compiler. (Thanks to Rene Girard for pointing out the problems.) - Updated BCC_MAKEFILE (thanks to Rene Girard). - Added GC_ASSERT check for minimum thread stack size. - Added --enable-gc-assertions. - Added some web documentation to the distribution. Updated it in the process. - Separate gc_conf_macros.h from gc.h. - Added generic GC_THREADS client-defined macro to set the appropriate GC_XXX_THREADS internal macro. (gc_config_macros.h.) - Add debugging versions of _ignore_off_page allocation primitves. - Moved declarations of GC_make_closure and GC_debug_invoke_finalizer from gc.h to gc_priv.h. - Reset GC_fail_count even if only a small allocation succeeds. - Integrated Brian Alliet's patch for dynamic library support on Darwin. - gc_cpp.h's gc_cleanup destructor called GC_REGISTER_FINALIZER_IGNORE_SELF when it should have called the lower case version, since it was explicitly computing a base pointer. @ text @d1 1 a1 1 $NetBSD$ d3 1 a3 1 --- doc/Makefile.in.orig 2003-05-09 13:17:43.000000000 +0200 d5 4 a8 4 @@@@ -46,7 +46,7 @@@@ infodir = @@infodir@@ mandir = @@mandir@@ includedir = @@includedir@@ oldincludedir = /usr/include @ 1.5 log @updated to boehm-gc 6.0 (gc6.0) which incorporated most of our patch. On i386 aout/ELF, saprc ELF and macppc, 'cd ${WRKSRC}; make test' got success and www/w3m package which depends on this runs. @ text @d1 1 a1 1 $NetBSD: patch-ae,v 1.4 2000/11/16 10:42:24 abs Exp $ d3 11 a13 25 --- mach_dep.c.orig Fri Apr 14 13:57:14 2000 +++ mach_dep.c @@@@ -220,8 +220,10 @@@@ # if defined(I386) &&!defined(OS2) &&!defined(SVR4) \ && (defined(__MINGW32__) || !defined(MSWIN32)) \ && !defined(SCO) && !defined(SCO_ELF) \ - && !(defined(LINUX) && defined(__ELF__)) \ + && !(defined(LINUX) && defined(__ELF__)) \ && !(defined(FREEBSD) && defined(__ELF__)) \ + && !(defined(NETBSD) && defined(__ELF__)) \ + && !(defined(OPENBSD) && defined(__ELF__)) \ && !defined(DOS4GW) /* I386 code, generic code does not appear to work */ /* It does appear to work under OS2, and asms dont */ @@@@ -236,7 +238,9 @@@@ # endif # if ( defined(I386) && defined(LINUX) && defined(__ELF__) ) \ - || ( defined(I386) && defined(FREEBSD) && defined(__ELF__) ) + || ( defined(I386) && defined(FREEBSD) && defined(__ELF__) ) \ + || ( defined(I386) && defined(NETBSD) && defined(__ELF__) ) \ + || ( defined(I386) && defined(OPENBSD) && defined(__ELF__) ) /* This is modified for Linux with ELF (Note: _ELF_ only) */ /* This section handles FreeBSD with ELF. */ @ 1.4 log @Fix compilation on arm32 by testing for __arm32__ not arm32 @ text @d1 1 a1 1 $NetBSD$ @ 1.3 log @defuzz @ text @d2 26 a27 12 --- misc.c.orig Wed Apr 5 09:37:29 2000 +++ misc.c Sat Jul 1 04:30:58 2000 @@@@ -453,6 +453,9 @@@@ /* This doesn't really work if the collector is in a shared library. */ GC_init_linux_data_start(); # endif +# if defined(NETBSD) && defined(__ELF__) + GC_init_netbsd_elf(); +# endif # ifdef SOLARIS_THREADS GC_thr_init(); /* We need dirty bits in order to find live stack sections. */ @ 1.2 log @defuzz @ text @d2 4 a5 5 --- misc.c.orig Mon Nov 15 18:56:45 1999 +++ misc.c Mon Nov 15 18:56:45 1999 @@@@ -436,6 +436,9 @@@@ # if defined(LINUX) && (defined(POWERPC) || defined(ALPHA) || defined(SPARC)) @ 1.1 log @Update boehm-gc to 5.0alpha3. It now supports m68k, i386, sparc a.out systems and ELF ones (checked on alpha, i386, powerpc) as well. Update supplied by SUNAGAWA Keiki in PR#8482 with minor additions by me. @ text @d3 5 a7 5 --- misc.c.orig 1999/06/02 19:23:56 1.1.1.1 +++ misc.c 1999/06/03 12:44:50 1.2 @@@@ -433,6 +433,9 @@@@ # if defined(LINUX) && defined(SPARC) GC_init_linuxsparc(); @