head 1.15; access; symbols pkgsrc-2013Q2:1.15.0.4 pkgsrc-2013Q2-base:1.15 pkgsrc-2012Q4:1.15.0.2 pkgsrc-2012Q4-base:1.15 pkgsrc-2012Q1:1.14.0.16 pkgsrc-2012Q1-base:1.14 pkgsrc-2011Q4:1.14.0.14 pkgsrc-2011Q4-base:1.14 pkgsrc-2011Q3:1.14.0.12 pkgsrc-2011Q3-base:1.14 pkgsrc-2011Q2:1.14.0.10 pkgsrc-2011Q2-base:1.14 pkgsrc-2011Q1:1.14.0.8 pkgsrc-2011Q1-base:1.14 pkgsrc-2010Q4:1.14.0.6 pkgsrc-2010Q4-base:1.14 pkgsrc-2010Q3:1.14.0.4 pkgsrc-2010Q3-base:1.14 pkgsrc-2010Q2:1.14.0.2 pkgsrc-2010Q2-base:1.14 pkgsrc-2009Q4:1.12.0.10 pkgsrc-2009Q4-base:1.12 pkgsrc-2008Q4:1.12.0.8 pkgsrc-2008Q4-base:1.12 pkgsrc-2008Q3:1.12.0.6 pkgsrc-2008Q3-base:1.12 cube-native-xorg:1.12.0.4 cube-native-xorg-base:1.12 pkgsrc-2008Q2:1.12.0.2 pkgsrc-2008Q2-base:1.12 pkgsrc-2008Q1:1.11.0.6 pkgsrc-2008Q1-base:1.11 pkgsrc-2007Q4:1.11.0.4 pkgsrc-2007Q4-base:1.11 pkgsrc-2007Q3:1.11.0.2 pkgsrc-2007Q3-base:1.11 pkgsrc-2007Q2:1.10.0.8 pkgsrc-2007Q2-base:1.10 pkgsrc-2007Q1:1.10.0.6 pkgsrc-2007Q1-base:1.10 pkgsrc-2006Q4:1.10.0.4 pkgsrc-2006Q4-base:1.10 pkgsrc-2006Q3:1.10.0.2 pkgsrc-2006Q3-base:1.10 pkgsrc-2006Q2:1.9.0.8 pkgsrc-2006Q2-base:1.9 pkgsrc-2006Q1:1.9.0.6 pkgsrc-2006Q1-base:1.9 pkgsrc-2005Q4:1.9.0.4 pkgsrc-2005Q4-base:1.9 pkgsrc-2005Q3:1.9.0.2 pkgsrc-2005Q3-base:1.9 pkgsrc-2005Q2:1.8.0.8 pkgsrc-2005Q2-base:1.8 pkgsrc-2005Q1:1.8.0.6 pkgsrc-2005Q1-base:1.8 pkgsrc-2004Q4:1.8.0.4 pkgsrc-2004Q4-base:1.8 pkgsrc-2004Q3:1.8.0.2 pkgsrc-2004Q3-base:1.8 pkgsrc-2004Q2:1.7.0.6 pkgsrc-2004Q2-base:1.7 pkgsrc-2004Q1:1.7.0.4 pkgsrc-2004Q1-base:1.7 pkgsrc-2003Q4:1.7.0.2 pkgsrc-2003Q4-base:1.7 buildlink2-base:1.4 netbsd-1-5-PATCH001:1.3 netbsd-1-5-RELEASE:1.2 netbsd-1-4-PATCH003:1.2 netbsd-1-4-PATCH002:1.2 comdex-fall-1999:1.1; locks; strict; comment @# @; 1.15 date 2012.05.29.14.35.42; author wiz; state dead; branches; next 1.14; 1.14 date 2010.06.04.11.21.34; author wiz; state Exp; branches; next 1.13; 1.13 date 2010.06.02.19.59.52; author wiz; state Exp; branches; next 1.12; 1.12 date 2008.05.22.11.45.25; author wiz; state dead; branches; next 1.11; 1.11 date 2007.07.07.15.21.08; author wiz; state Exp; branches; next 1.10; 1.10 date 2006.07.17.17.08.16; author wiz; state Exp; branches; next 1.9; 1.9 date 2005.07.02.12.55.40; author wiz; state Exp; branches; next 1.8; 1.8 date 2004.07.09.00.18.54; author recht; state Exp; branches; next 1.7; 1.7 date 2003.08.17.05.01.59; author kei; state Exp; branches; next 1.6; 1.6 date 2003.05.22.16.46.51; author jmmv; state dead; branches; next 1.5; 1.5 date 2003.05.09.12.57.19; author jmmv; state Exp; branches; next 1.4; 1.4 date 2001.09.08.00.36.10; author kei; state dead; branches; next 1.3; 1.3 date 2000.11.16.10.42.24; author abs; state Exp; branches; next 1.2; 1.2 date 99.11.04.15.21.58; author minoura; state Exp; branches; next 1.1; 1.1 date 99.09.24.16.42.06; author jlam; state Exp; branches; next ; desc @@ 1.15 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-af,v 1.14 2010/06/04 11:21:34 wiz Exp $ --- sparc_mach_dep.S.orig 2007-04-27 18:01:22.000000000 -0400 +++ sparc_mach_dep.S 2010-06-02 12:53:00.000000000 -0400 @@@@ -8,6 +8,7 @@@@ .globl GC_save_regs_in_stack .globl GC_push_regs GC_save_regs_in_stack: +GC_push_regs: #if defined(__arch64__) || defined(__sparcv9) save %sp,-128,%sp flushw @ 1.14 log @Add RCS Id. @ text @d1 1 a1 1 $NetBSD$ @ 1.13 log @Fix self-tests on NetBSD/sparc64. From Chris Ross on pkgsrc-users. Bump PKGREVISION, even if it only affects sparc64. @ text @d1 2 @ 1.12 log @Remove patch-ad, which breaks self tests on NetBSD-4.99.63/amd64. Replace first hunk of patch-af with CONFIGURE_ARGS. Remove next two hunks of patch-af installing some private headers. This shouldn't be necessary in the 7.x versions. If it is, the author is willing to help fix the underlying problems. patch-aa and -ab will be included in the next upstream release. Bump PKGREVISION. @ text @d1 10 a10 38 $NetBSD: patch-af,v 1.11 2007/07/07 15:21:08 wiz Exp $ --- Makefile.in.orig 2007-06-28 21:12:36.000000000 +0000 +++ Makefile.in @@@@ -75,7 +75,7 @@@@ srcdir = @@srcdir@@ top_srcdir = @@top_srcdir@@ VPATH = @@srcdir@@ -pkgdatadir = $(datadir)/@@PACKAGE@@ +pkgdatadir = $(datadir)/doc/@@PACKAGE@@ pkglibdir = $(libdir)/@@PACKAGE@@ pkgincludedir = $(includedir)/@@PACKAGE@@ top_builddir = . @@@@ -323,6 +323,10 @@@@ LIBTOOL = @@LIBTOOL@@ LN_S = @@LN_S@@ LTLIBOBJS = @@LTLIBOBJS@@ MAINT = @@MAINT@@ +include_PRIVATE_HEADERS = include/private/gc_hdrs.h \ +include/private/gc_locks.h include/private/gc_priv.h \ +include/private/gcconfig.h + MAINTAINER_MODE_FALSE = @@MAINTAINER_MODE_FALSE@@ MAINTAINER_MODE_TRUE = @@MAINTAINER_MODE_TRUE@@ MAKEINFO = @@MAKEINFO@@ @@@@ -895,6 +899,13 @@@@ install-includeHEADERS: $(include_HEADER echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \ $(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \ done + $(mkinstalldirs) $(DESTDIR)$(pkgincludedir)/private + @@list='$(include_PRIVATE_HEADERS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(pkgincludedir)/private/$$f"; \ + $(includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(pkgincludedir)/private/$$f; \ + done uninstall-includeHEADERS: @@$(NORMAL_UNINSTALL) @ 1.11 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-af,v 1.10 2006/07/17 17:08:16 wiz Exp $ @ 1.10 log @Update to 6.8. Changes since 6.7: - Added some support for Dragonfly BSD. (Thanks to Joerg Sonnenberger and Thomas Klausner.) - Improvements to the HP/UX section of configure.in. (Thanks to Andreas Tobler.) - GC_unix_get_mem could neglect to release the malloc lock on Irix, under extremely unlikely circumstances. Thanks to Jean-Baptiste Nivois for some careful code reading. - Added support for kFreeBSD + glibc (Thanks to Petr Salinger) - Fix more MacOS threads memory leaks (Thanks to Allan Hsu) - Added initial Solaris/X86-64 support (Thanks to Rainer Orth) - Applied a long-lost MINGW patch from Gerard Allan for malloc redirection with threads. This one probably makes no sense for 7.0, and was not applied there. - The Solaris/SPARC definition of GC_INIT() in gc.h wasn't C++-compilable. @ text @d1 1 a1 1 $NetBSD: patch-af,v 1.9 2005/07/02 12:55:40 wiz Exp $ d3 1 a3 1 --- Makefile.in.orig 2006-02-19 00:50:57.000000000 +0000 d5 13 a17 4 @@@@ -323,6 +323,10 @@@@ include_HEADERS = include/gc.h include/g include/gc_pthread_redirects.h include/gc_config_macros.h \ include/leak_detector.h include/gc_typed.h @@addincludes@@ d22 4 a25 4 EXTRA_HEADERS = include/gc_cpp.h include/gc_allocator.h @@POWERPC_DARWIN_FALSE@@asm_libgc_sources = @@POWERPC_DARWIN_TRUE@@asm_libgc_sources = powerpc_darwin_mach_dep.s @@@@ -591,6 +595,13 @@@@ install-includeHEADERS: $(include_HEADER @ 1.9 log @Update to 0.6.5: minor bugfixes. @ text @d1 1 a1 1 $NetBSD: patch-af,v 1.8 2004/07/09 00:18:54 recht Exp $ d3 1 a3 1 --- Makefile.in.orig 2005-05-17 01:28:28.000000000 +0200 d5 1 a5 1 @@@@ -321,6 +321,10 @@@@ include_HEADERS = include/gc.h include/g d16 1 a16 1 @@@@ -587,6 +591,13 @@@@ install-includeHEADERS: $(include_HEADER @ 1.8 log @update to 6.3 This is mostly a bug fix release. Selection of changes: - most pkgsrc patches have been integrated - amd64 support for NetBSD/OpenBSD (thanks to drochner@@) - enhanced Darwin support For a complete list see: http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/recent_changes @ text @d1 1 a1 1 $NetBSD: patch-af,v 1.7 2003/08/17 05:01:59 kei Exp $ d3 3 a5 3 --- Makefile.in.orig 2004-03-25 01:46:35.000000000 +0100 +++ Makefile.in 2004-04-04 14:43:08.000000000 +0200 @@@@ -170,6 +170,9 @@@@ d12 1 a12 1 d14 5 a18 4 @@@@ -540,6 +543,13 @@@@ echo " $(includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(includedir)/$$f"; \ $(includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(includedir)/$$f; \ @ 1.7 log @install private header files as well. an application (latest version of lang/gauche, actually) needs them. there are some comments in doc/README.changes about this issue. @ text @d1 1 a1 1 # $NetBSD$ d3 2 a4 2 --- Makefile.in.orig Sun Jun 22 07:47:00 2003 +++ Makefile.in Wed Jul 23 23:48:40 2003 d15 1 a15 2 @@@@ -541,6 +544,13 @@@@ f="`echo $$p | sed -e 's|^.*/||'`"; \ d18 1 a18 1 + done d25 1 a25 1 done d28 1 @ 1.6 log @Update to 6.2alpha5: - GC_invoke_finalizers could, under rare conditions, set GC_finalizer_mem_freed to an essentially random value. This could possibly cause unbounded heap growth for long-running applications under some conditions. (The bug was introduced in 6.1alpha5, and is not in gcc3.3. Thanks to Ben Hutchings for finding it.) - Attempted to sanitize the various DLL macros. GC_USE_DLL disappeared. GC_DLL is used instead. All internal tests are now on GC_DLL. README.macros is now more precise about the intended meaning. - Include DllMain in the multithreaded win32 version only if the collector is actually built as a dll. (Thanks to Mohan Embar for a version of the patch.) - Hide the cygwin threadAttach/Detach functions. They were violating our namespace rules. - Fixed an assertion in GC_check_heap_proc. Added GC_STATIC_ASSERT. (Thanks again to Ben Hutchings.) - Removed some obsolete definitions for Linux/PowerPC in gcconfig.h. - CORD_cat was not rebalancing unbalanced trees in some cases, violating a CORD invariant. Also tweaked the rebalancing rule for CORD_cat_char_star. (Thanks to Alexandr Petrosian for the bug report and patch.) - Added hand-coded structured exception handling support to mark.c. This should enable support of dynamic libraries under win32 with gcc-compiled code. (Thanks to Ranjit Mathew for the patch.) Turned on dynamic library scanning for win32/gcc. - Removed some remnants of read wrapping. (Thanks to Kenneth Schalk.) GC_USE_LD_WRAP ws probably broken in recent versions. - The build could fail on some platforms since gcconfig.h could include declarations mentioning ptr_t, which was not defined, e.g. when if_mach was built. (Thanks to Yann Dirson for pointing this out.) Also cleaned up tests for GC_PRIVATE_H in gcconfig.h a bit. - The GC_LOOP_ON_ABORT environment variable interfered with incremental collection, since the write fault handler was erroneously overridden. Handlers are now set up in the correct order. - It used to be possible to call GC_mark_thread_local_free_lists() while the world was not stopped during an incremental GC. This was not safe. Fortunately, it was also unnecessary. Added GC_world_stopped flag to avoid it. (This caused occasional crashes in GC_set_fl_marks with thread local allocation and incremental GC. This probably happened primarily on old, slow multiprocessors.) - Allowed overriding of MAX_THREADS in win32_threads.c from the build command line. (Patch from Yannis Bres.) - Taught the IA64/linux code to determine the register backing store base from /proc/self/maps after checking the __libc symbol, but before guessing. (__libc symbols are on the endangered list, and the guess is likely to not always be right for 2.6 kernels.) Restructured the code to read and parse /proc/self/maps so it only exists in one place (all platforms). - The -DUSE_PROC_FOR_LIBRARIES code was broken on Linux. It claimed that it also registered the main data segment, but didn't actually do so. (I don't think anyone actually uses this configuration, but ...) - Made another attempt to get --enablecplusplus to do the right thing. Since there are unavoidable problems with C programs linking against a dynamic library that includes C++ code, I separated out the c++ code into libgccpp. Based on patch provided in PR pkg/21569 by Marc Recht. @ text @d1 1 a1 1 $NetBSD: patch-af,v 1.5 2003/05/09 12:57:19 jmmv Exp $ d3 5 a7 3 --- Makefile.in.orig 2003-03-11 01:45:17.000000000 +0100 +++ Makefile.in @@@@ -827,7 +827,7 @@@@ info: info-recursive d9 3 a11 1 info-am: d13 1 a13 2 -install-data-am: install-includeHEADERS +install-data-am: d15 12 a26 1 install-exec-am: install-libLTLIBRARIES d28 1 @ 1.5 log @Add patch missed during update to 6.2alpha4. @ text @d1 1 a1 1 $NetBSD$ @ 1.4 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-af,v 1.3 2000/11/16 10:42:24 abs Exp $ d3 11 a13 12 --- misc.c.orig Tue Apr 4 17:37:29 2000 +++ misc.c @@@@ -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.3 log @Fix compilation on arm32 by testing for __arm32__ not arm32 @ text @d1 1 a1 1 $NetBSD$ @ 1.2 log @Make this work on sparcs. Needs tests on a.out systems. @ text @d1 1 a1 1 $NetBSD: patch-af,v 1.1 1999/09/24 16:42:06 jlam Exp $ d3 12 a14 40 --- os_dep.c.orig Fri Jul 9 05:01:06 1999 +++ os_dep.c Tue Oct 26 11:14:37 1999 @@@@ -156,6 +156,19 @@@@ } #endif +#if defined(NETBSD) && defined(__ELF__) + ptr_t GC_data_start; + + void GC_init_netbsd_elf() + { + extern ptr_t GC_find_limit(); + extern char **environ; + /* This may need to be environ, without the underscore, for */ + /* some versions. */ + GC_data_start = GC_find_limit((ptr_t)&environ, FALSE); + } +#endif + # ifdef OS2 # include @@@@ -2407,7 +2420,7 @@@@ # if defined (DRSNX) # include # else -# if defined(OPENBSD) +# if defined(OPENBSD) || defined(NETBSD) # include # else # include @@@@ -2422,7 +2435,7 @@@@ /* Fill in the pc and argument information for up to NFRAMES of my */ /* callers. Ignore my frame and my callers frame. */ -#ifdef OPENBSD +#if defined(OPENBSD) || defined(NETBSD) # define FR_SAVFP fr_fp # define FR_SAVPC fr_pc #else @ 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 @d1 1 a1 1 $NetBSD$ d3 3 a5 3 --- os_dep.c.orig Wed May 19 17:38:53 1999 +++ os_dep.c Tue Jun 8 01:25:18 1999 @@@@ -165,6 +165,19 @@@@ d25 18 a42 9 @@@@ -2234,7 +2247,7 @@@@ * Call stack save code for debugging. * Should probably be in mach_dep.c, but that requires reorganization. */ -#if defined(SPARC) && !defined(LINUX) +#if defined(SPARC) && !defined(LINUX) && !defined(NETBSD) # if defined(SUNOS4) # include # else @